diff --git a/app/main.637a1d25b9c21a702baf.css b/app/main.54711960cc59927e133a.css similarity index 99% rename from app/main.637a1d25b9c21a702baf.css rename to app/main.54711960cc59927e133a.css index 41fec0bf..6eee7945 100644 --- a/app/main.637a1d25b9c21a702baf.css +++ b/app/main.54711960cc59927e133a.css @@ -9339,10 +9339,10 @@ input:required, select:required, textarea:required { padding-right: 0; } .navbar .dropdown-menu { min-width: 200px; - max-width: 250px; } + max-width: 300px; } .navbar .dropdown-menu .dropdown-item-text { line-height: 1.3; } - .navbar .dropdown-menu .dropdown-item-text small { + .navbar .dropdown-menu .dropdown-item-text span, .navbar .dropdown-menu .dropdown-item-text small { display: block; white-space: nowrap; overflow: hidden; @@ -9503,6 +9503,9 @@ label:not(.form-check-label):not(.btn) { .text-strike { text-decoration: line-through; } +.font-weight-semibold { + font-weight: 600; } + app-vault-groupings .card #search, app-org-vault-groupings .card #search { margin-bottom: 1rem; } @@ -9698,4 +9701,4 @@ img.logo { .overflow-hidden { overflow: hidden; } -/*# sourceMappingURL=main.637a1d25b9c21a702baf.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.54711960cc59927e133a.css.map*/ \ No newline at end of file diff --git a/app/main.637a1d25b9c21a702baf.css.map b/app/main.54711960cc59927e133a.css.map similarity index 58% rename from app/main.637a1d25b9c21a702baf.css.map rename to app/main.54711960cc59927e133a.css.map index 1cb7bb9c..25f861da 100644 --- a/app/main.637a1d25b9c21a702baf.css.map +++ b/app/main.54711960cc59927e133a.css.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.637a1d25b9c21a702baf.css","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.54711960cc59927e133a.css","sourceRoot":""} \ No newline at end of file diff --git a/app/main.54711960cc59927e133a.js b/app/main.54711960cc59927e133a.js new file mode 100644 index 00000000..ec543cd5 --- /dev/null +++ b/app/main.54711960cc59927e133a.js @@ -0,0 +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(47),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.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});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=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(){this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=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?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),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),r=Array.from(document.querySelectorAll(".modal"));return r.length>0&&(this.el=o(r[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(),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}(e(842).ModalComponent));l.ModalComponent=i},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(43),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(12),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(12),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())&&!this.isMobile(n)},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.prototype.isMobile=function(n){var l,e=!1;return l=n.navigator.userAgent||n.navigator.vendor||n.opera,(/(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(l)||/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(l.substr(0,4)))&&(e=!0),e||null!=n.navigator.userAgent.match(/iPad/i)},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 L(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,F)),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 G(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,U)),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,L)),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 q(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 z(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,q)),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 j(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 B(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 K(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 H(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 $(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,K)),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,H)),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 W(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 Y(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 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,W)),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,Y)),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 X(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 Q(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,X)),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 nn(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 ln(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 en(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 tn(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 un(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,tn)),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 on(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,j)),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,B)),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,$)),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,Z)),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,J)),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,Q)),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,nn)),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,ln)),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,en)),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,un)),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 rn(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,x)),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,G)),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,z)),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,on)),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 an(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,rn)),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 sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,an,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=an,l.View_OrganizationBillingComponent_Host_0=sn;var dn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,sn,{},{},[]);l.OrganizationBillingComponentNgFactory=dn},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(43),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(43),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(45),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(45),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(45),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(45),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(43),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,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 _(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,R)),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 I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,20,"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,14,"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.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(21,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,21,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 A(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,I)),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 E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,A,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=A,l.View_OrganizationLayoutComponent_Host_0=E;var O=t.ɵccf("app-organization-layout",b.OrganizationLayoutComponent,E,{},{},[]);l.OrganizationLayoutComponentNgFactory=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(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(43),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 { 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 { 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 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.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 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 {\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\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 (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';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent extends BaseModalComponent {\r\n el: any = null;\r\n\r\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\r\n super(componentFactoryResolver);\r\n }\r\n\r\n ngOnDestroy() { /* Nothing */ }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n if (modals.length > 0) {\r\n this.el = jq(modals[0]);\r\n this.el.modal('show');\r\n\r\n this.el.on('show.bs.modal', () => {\r\n this.onShow.emit();\r\n });\r\n this.el.on('shown.bs.modal', () => {\r\n this.onShown.emit();\r\n this.el.find('*[appAutoFocus]').focus();\r\n });\r\n this.el.on('hide.bs.modal', () => {\r\n this.onClose.emit();\r\n });\r\n this.el.on('hidden.bs.modal', () => {\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n });\r\n }\r\n\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n if (this.el != null) {\r\n this.el.modal('hide');\r\n }\r\n }\r\n}\r\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 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';\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\n@Injectable()\r\nexport class OrganizationGuardService 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.params.organizationId);\r\n if (org == null) {\r\n this.router.navigate(['/']);\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 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","
\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()) && !this.isMobile(win);\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 private 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\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\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;\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 {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { LockService } from 'jslib/services/lock.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst environmentService = new EnvironmentService(apiService, storageService);\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, platformUtilsService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nconst lockService = new LockService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, null);\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n await (storageService as HtmlStorageService).init();\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n }\n await apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n\n // Uncomment these (and comment out the above) if you want to target production\n // servers for local development.\n\n // base: null,\n // api: 'https://api.bitwarden.com',\n // identity: 'https://identity.bitwarden.com',\n });\n\n lockService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n await authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n stateService.save('enableGravatars', await storageService.get('enableGravatars'));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: LockServiceAbstraction, useValue: lockService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\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
{{billing.expiration | date:'mediumDate'}}
\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
\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/app/main.637a1d25b9c21a702baf.js b/app/main.637a1d25b9c21a702baf.js deleted file mode 100644 index 0368f5be..00000000 --- a/app/main.637a1d25b9c21a702baf.js +++ /dev/null @@ -1,2 +0,0 @@ -!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(17);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.CryptoService=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.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(539),u=e(157),o=e(177),i=e(217),r=e(49),a=e(179),s=e(128),d=e(156),c=e(91),p=e(53),f=e(220),v=e(101),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&&(n="http://"+n),n.startsWith("http://")||n.startsWith("https://"))try{if(null!=o)return new o(n);if("function"==typeof URL)return new URL(n);if(null!=window){var l=window.document.createElement("a");return l.href=n,l}}catch(n){}return null},l.inited=!1,l.isNode=!1,l.isBrowser=!0,l.global=null,l}();l.Utils=i,i.init()}).call(this,e(224),e(103),e(296).Buffer)},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.StateService=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=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(){this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=t},,,,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(){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(226),i=(e(0),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),r=Array.from(document.querySelectorAll(".modal"));return r.length>0&&(this.el=o(r[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(),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}(e(837).ModalComponent));l.ModalComponent=i},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";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}),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.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(53),u=e(536),o=e(535),i=e(534),r=e(533),a=e(532),s=e(530),d=function(){return function(n,l,e){var d=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 s.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){d.fields.push(new i.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){d.attachments.push(new u.AttachmentData(n))}))}}}();l.CipherData=d},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";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(42);var t=function(){function n(n){this.sanitizer=n,this.width=45,this.height=45,this.charCount=2,this.textColor="#ffffff",this.fontSize=20,this.fontWeight=300,this.dynamic=!1,this.circle=!1}return n.prototype.ngOnInit=function(){this.dynamic||this.generate()},n.prototype.ngOnChanges=function(){this.dynamic&&this.generate()},n.prototype.generate=function(){var n=null,l=this.data.toUpperCase();this.charCount>1&&(n=this.getFirstLetters(l,this.charCount)),null==n&&(n=l.substr(0,this.charCount));var e=this.getCharText(n),t=this.stringToColor(l),u=this.getSvg(this.width,this.height,t);u.appendChild(e);var o=window.document.createElement("div").appendChild(u).outerHTML,i=window.btoa(unescape(encodeURIComponent(o)));this.src="data:image/svg+xml;base64,"+i},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(116),i=e(42),r=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(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 s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,a,r)),t.ɵdid(1,638976,null,0,o.AvatarComponent,[i.DomSanitizer],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=r,l.View_AvatarComponent_0=a,l.View_AvatarComponent_Host_0=s;var d=t.ɵccf("app-avatar",o.AvatarComponent,s,{data:"data",width:"width",height:"height",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=d},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(17),s=e(46),d=e(125),c=e(4),p=e(9),f=e(20),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[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())})),l},l}(p.default);l.Cipher=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)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(177),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(100).default);l.Collection=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){}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(53),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)}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,"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}),n}();l.CipherView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),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,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.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(159),u=e(727),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:this.ciphers.length,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]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(12),e(3),e(26),e(20),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(800).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]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;l0&&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(830).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(850).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]=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.hex2dec=function(n){return parseInt(n,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.PasswordHistory(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.PasswordHistory(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]-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return t(this,void 0,void 0,function(){var e,t,r,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 r=u.sent(),a=r[0],[2,r[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 i.UriMatchType.Host:var s=w.Utils.getHost(n);if(null!=s&&s===w.Utils.getHost(r.uri))return!0;break;case i.UriMatchType.Exact:if(n===r.uri)return!0;break;case i.UriMatchType.StartsWith:if(n.startsWith(r.uri))return!0;break;case i.UriMatchType.RegularExpression:try{if(new RegExp(r.uri,"i").test(n))return!0}catch(n){}break;case i.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(_)];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(_,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 f.Login,[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&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,7];case 6:return u.sent(),[3,7];case 7:return[3,9];case 8:this.title=this.i18nService.t("addCollection"),u.label=9;case 9: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&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(100).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(533),i=e(100),r=e(218),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(534),i=e(100),r=e(179),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(535),i=e(100),r=e(115),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(536),i=e(100),r=e(538),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){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(531),u=function(){return function(n){var l=this;null!=n&&(this.username=n.username,this.password=n.password,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(12),e(3),e(2),e(94),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(733).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(40),o=e(37),i=e(2),r=e(13),a=e(18),s=e(17),d=e(270),c=e(127),p=e(8),f=e(7),v=e(5),h=e(266),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(17),d=e(267),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(17),s=e(268),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]-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";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(807),o=e(5),i=e(282),r=e(131),a=e(61),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"img",[["alt",""]],[[8,"src",4]],[[null,"error"]],function(n,l,e){var u=!0;"error"===l&&(u=!1!==t.ɵnov(n,1).onError()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.FallbackSrcDirective,[t.ElementRef],{appFallbackSrc:[0,"appFallbackSrc"]},null)],function(n,l){var e=l.component;n(l,1,0,t.ɵinlineInterpolate(1,"",e.fallbackImage,""))},function(n,l){n(l,0,0,l.component.image)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa fa-fw fa-lg ",e.icon,""))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","icon"]],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 "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(6,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,3,0,e.imageEnabled&&e.image),n(l,6,0,!e.imageEnabled||!e.image)},null)}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-icon",[],null,null,null,p,s)),t.ɵdid(1,573440,null,0,i.IconComponent,[r.EnvironmentService,a.StateService],null,null)],null,null)}l.RenderType_IconComponent=s,l.View_IconComponent_0=p,l.View_IconComponent_Host_0=f;var v=t.ɵccf("app-vault-icon",i.IconComponent,f,{cipher:"cipher"},{},[]);l.IconComponentNgFactory=v},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&&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.0.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||this.isOpera()||this.isVivaldi())&&!this.isMobile(n)},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.prototype.isMobile=function(n){var l,e=!1;return l=n.navigator.userAgent||n.navigator.vendor||n.opera,(/(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(l)||/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(l.substr(0,4)))&&(e=!0),e||null!=n.navigator.userAgent.match(/iPad/i)},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 L(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,F)),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 G(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,U)),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,L)),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 q(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 z(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,q)),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 j(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 B(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 K(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 H(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 $(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,K)),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,H)),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 W(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 Y(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 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,W)),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,Y)),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 X(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 Q(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,X)),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 nn(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 ln(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 en(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 tn(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 un(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,tn)),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 on(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,j)),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,B)),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,$)),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,Z)),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,J)),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,Q)),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,nn)),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,ln)),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,en)),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,un)),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 rn(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,x)),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,G)),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,z)),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,on)),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 an(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,rn)),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 sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,an,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=an,l.View_OrganizationBillingComponent_Host_0=sn;var dn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,sn,{},{},[]);l.OrganizationBillingComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(240),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(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(241),v=e(4),h=e(3),g=e(9),m=e(10),y=e(66),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.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"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],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.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","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 w(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 R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.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,b)),t.ɵdid(10,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,S)),t.ɵdid(13,16384,null,0,p.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,w)),t.ɵdid(23,16384,null,0,p.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,R)),(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 I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,_,C)),t.ɵdid(1,114688,null,0,f.AccountComponent,[t.ComponentFactoryResolver,v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService,m.ActivatedRoute,y.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=_,l.View_AccountComponent_Host_0=I;var A=t.ɵccf("app-org-account",f.AccountComponent,I,{},{},[]);l.AccountComponentNgFactory=A},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(242),s=e(21),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(60),o=e(130),i=e(116),r=e(42),a=e(5),s=e(7),d=e(2),c=e(250),p=e(13),f=e(243),v=e(4),h=e(10),g=e(8),m=e(3),y=e(9),C=e(20),b=e(21),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(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 R(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 _(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 I(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 A(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 E(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 O(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 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),"owner")))})}function T(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 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),"user")))})}function V(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 P(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 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.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 x(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 D(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",[["height","25"],["width","25"]],null,null,null,o.View_AvatarComponent_0,o.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,i.AvatarComponent,[r.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],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,A)),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,E)),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,O)),t.ɵdid(21,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(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,N)),t.ɵdid(27,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,T)),t.ɵdid(30,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,k)),t.ɵdid(33,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(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,V)),t.ɵdid(48,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,P)),t.ɵdid(51,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(54,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,x)),t.ɵdid(57,16384,null,0,a.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,"25","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 U(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,D)),t.ɵdid(5,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 "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function F(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,I)),t.ɵdid(3,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,U)),t.ɵdid(6,16384,null,0,a.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 L(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function z(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),t.ɵpid(0,c.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,a.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,a.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,w)),t.ɵdid(27,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(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,a.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,R)),t.ɵdid(36,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.ɵ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,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(49,671744,null,0,p.NgModel,[[8,null],[8,null],[8,null],[2,p.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(51,16384,null,0,p.NgControlStatus,[p.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,_)),t.ɵdid(64,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,2,null,F)),t.ɵdid(67,16384,null,0,a.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,L)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,G)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,q)),(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 j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,z,S)),t.ɵdid(1,114688,null,0,f.PeopleComponent,[v.ApiService,h.ActivatedRoute,d.I18nService,t.ComponentFactoryResolver,g.PlatformUtilsService,m.Angulartics2,y.ToasterService,C.CryptoService,b.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=S,l.View_PeopleComponent_0=z,l.View_PeopleComponent_Host_0=j;var B=t.ɵccf("app-org-people",f.PeopleComponent,j,{},{},[]);l.PeopleComponentNgFactory=B},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(60),o=e(5),i=e(7),r=e(2),a=e(250),s=e(13),d=e(244),c=e(4),p=e(10),f=e(3),v=e(9),h=e(8),g=e(21),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(17),r=e(7),a=e(2),s=e(13),d=e(245),c=e(4),p=e(10),f=e(175),v=e(9),h=e(21),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(60),o=e(5),i=e(7),r=e(2),a=e(250),s=e(13),d=e(249),c=e(4),p=e(10),f=e(44),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(251),s=e(21),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(17),s=e(40),d=e(37),c=e(46),p=e(252),f=e(3),v=e(9),h=e(20),g=e(21),m=e(8),y=e(176),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(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(253),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=e(44),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(254),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(92),i=e(60),r=e(5),a=e(566),s=e(282),d=e(131),c=e(61),p=e(565),f=e(8),v=e(7),h=e(2),g=e(257),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,49152,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(60),i=e(7),r=e(2),a=e(13),s=e(87),d=e(258),c=e(44),p=e(50),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(729),r=e(258),a=e(44),s=e(50),d=e(4),c=e(728),p=e(257),f=e(26),v=e(3),h=e(9),g=e(8),m=e(256),y=e(10),C=e(21),b=e(5),S=e(66),w=e(27),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});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,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,31,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,28,"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,18,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,11,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,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(28,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(29,null,["","\n "])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,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},c.View_CiphersComponent_0,c.RenderType_CiphersComponent)),t.ɵdid(34,49152,[[2,4]],0,p.CiphersComponent,[f.CipherService,v.Angulartics2,h.ToasterService,o.I18nService,g.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,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["cipherAddEdit",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["collections",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["eventsTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,14,0,!1,!1)},function(n,l){n(l,23,0,t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"vault"))),n(l,29,0,t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"addItem")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault",[],null,null,null,O,R)),t.ɵdid(1,114688,null,0,m.VaultComponent,[y.ActivatedRoute,C.UserService,b.Location,y.Router,S.SyncService,o.I18nService,t.ComponentFactoryResolver,w.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=R,l.View_VaultComponent_0=O,l.View_VaultComponent_Host_0=N;var T=t.ɵccf("app-org-vault",m.VaultComponent,N,{},{},[]);l.VaultComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(130),r=e(116),a=e(42),s=e(7),d=e(2),c=e(569),p=e(285),f=e(27),v=e(8),h=e(35),g=e(568),m=e(284),y=e(259),C=e(21),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(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 w(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,S)),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 R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,20,"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,14,"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",[],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(7,638976,null,0,r.AvatarComponent,[a.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],circle:[3,"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.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(21,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,45,!0),n(l,21,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 _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),(n()(),t.ɵeld(1,0,null,null,1,"app-navbar",[],null,null,null,c.View_NavbarComponent_0,c.RenderType_NavbarComponent)),t.ɵdid(2,114688,null,0,p.NavbarComponent,[f.MessagingService,v.PlatformUtilsService,h.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),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,g.View_FooterComponent_0,g.RenderType_FooterComponent)),t.ɵdid(11,114688,null,0,m.FooterComponent,[v.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 I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,_,b)),t.ɵdid(1,114688,null,0,y.OrganizationLayoutComponent,[u.ActivatedRoute,C.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationLayoutComponent=b,l.View_OrganizationLayoutComponent_0=_,l.View_OrganizationLayoutComponent_Host_0=I;var A=t.ɵccf("app-organization-layout",y.OrganizationLayoutComponent,I,{},{},[]);l.OrganizationLayoutComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(5),a=e(7),s=e(13),d=e(18),c=e(17),p=e(260),f=e(129),v=e(21),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(261),a=e(94),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(115),a=e(91),s=e(53),d=e(101),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(115),a=e(53),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(177),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(538);l.AttachmentView=t.AttachmentView;var u=e(115);l.CardView=u.CardView;var o=e(157);l.CipherView=o.CipherView;var i=e(179);l.FieldView=i.FieldView;var r=e(218);l.IdentityView=r.IdentityView;var a=e(217);l.LoginUriView=a.LoginUriView;var s=e(156);l.LoginView=s.LoginView;var d=e(91);l.SecureNoteView=d.SecureNoteView;var c=e(752);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(53),a=e(753),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(115),a=e(91),s=e(53),d=e(101),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(53),a=e(101),s=e(91),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(53),a=e(101),s=e(115),d=e(91),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(157),a=e(177),s=e(179),d=e(156),c=e(91),p=e(53),f=e(220),v=e(101),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(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(215),f=e(3),v=e(9),h=e(26),g=e(50),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(262),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(17),r=e(5),a=e(270),s=e(127),d=e(2),c=e(8),p=e(7),f=e(263),v=e(4),h=e(3),g=e(9),m=e(20),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(40),o=e(37),i=e(2),r=e(18),a=e(17),s=e(5),d=e(544),c=e(268),p=e(4),f=e(3),v=e(9),h=e(543),g=e(267),m=e(542),y=e(266),C=e(7),b=e(264),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(17),r=e(270),a=e(127),s=e(2),d=e(8),c=e(7),p=e(5),f=e(40),v=e(37),h=e(269),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(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(216),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(60),r=e(7),a=e(2),s=e(18),d=e(17),c=e(272),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(273),s=e(117),d=e(61),c=e(3),p=e(9),f=e(183),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(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 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,[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,100,"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,h)),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,g)),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,2,"button",[["class","btn btn-primary"],["type","submit"]],null,null,null,null,null)),(n()(),t.ɵted(110,null,["\n ","\n "])),t.ɵppd(111,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)},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,110,0,t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l,0),"save")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-options",[],null,null,null,m,v)),t.ɵdid(1,114688,null,0,a.OptionsComponent,[s.StorageService,d.StateService,c.Angulartics2,i.I18nService,p.ToasterService,f.LockService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OptionsComponent=v,l.View_OptionsComponent_0=m,l.View_OptionsComponent_Host_0=y;var C=t.ɵccf("app-options",a.OptionsComponent,y,{},{},[]);l.OptionsComponentNgFactory=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=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(40),r=e(37),a=e(13),s=e(18),d=e(17),c=e(46),p=e(553),f=e(4),v=e(3),h=e(9),g=e(20),m=e(27),y=e(21),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",[["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",""],["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",""],["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(554).EmailTokenRequest);l.EmailRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(46),s=e(7),d=e(18),c=e(17),p=e(5),f=e(555),v=e(4),h=e(3),g=e(9),m=e(20),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(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(556),v=e(4),h=e(3),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(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 C(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"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],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,""),"75","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 b(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(2,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,C)),t.ɵdid(5,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,2,0,e.loading),n(l,5,0,e.profile&&!e.loading)},null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-profile",[],null,null,null,b,m)),t.ɵdid(1,114688,null,0,f.ProfileComponent,[v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ProfileComponent=m,l.View_ProfileComponent_0=b,l.View_ProfileComponent_Host_0=S;var w=t.ɵccf("app-profile",f.ProfileComponent,S,{},{},[]);l.ProfileComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(796),r=e(556),a=e(4),s=e(3),d=e(9),c=e(794),p=e(555),f=e(20),v=e(27),h=e(792),g=e(553),m=e(21),y=e(274),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(275),s=e(35),d=e(160),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(279).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,49152,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 { 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 { 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 { 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","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 { 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 { 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 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.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 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 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 if (uriString.indexOf('://') === -1 && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n }\n\n if (uriString.startsWith('http://') || uriString.startsWith('https://')) {\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\n return null;\n }\n}\n\nUtils.init();\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 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","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\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 (this.autofocus) {\n this.el.nativeElement.focus();\n }\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 {\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';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent extends BaseModalComponent {\r\n el: any = null;\r\n\r\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\r\n super(componentFactoryResolver);\r\n }\r\n\r\n ngOnDestroy() { /* Nothing */ }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n if (modals.length > 0) {\r\n this.el = jq(modals[0]);\r\n this.el.modal('show');\r\n\r\n this.el.on('show.bs.modal', () => {\r\n this.onShow.emit();\r\n });\r\n this.el.on('shown.bs.modal', () => {\r\n this.onShown.emit();\r\n this.el.find('*[appAutoFocus]').focus();\r\n });\r\n this.el.on('hide.bs.modal', () => {\r\n this.onClose.emit();\r\n });\r\n this.el.on('hidden.bs.modal', () => {\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n });\r\n }\r\n\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n if (this.el != null) {\r\n this.el.modal('hide');\r\n }\r\n }\r\n}\r\n","import { PasswordHistory } from '../models/domain/passwordHistory';\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","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","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly lockOptionKey: string = 'lockOption';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { AttachmentData } from './attachmentData';\nimport { CardData } from './cardData';\nimport { FieldData } from './fieldData';\nimport { IdentityData } from './identityData';\nimport { LoginData } from './loginData';\nimport { SecureNoteData } from './secureNoteData';\n\nimport { CipherResponse } from '../response/cipherResponse';\n\nexport class CipherData {\n id: string;\n organizationId: string;\n folderId: string;\n userId: string;\n edit: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: Date;\n type: CipherType;\n sizeName: string;\n name: string;\n notes: string;\n login?: LoginData;\n secureNote?: SecureNoteData;\n card?: CardData;\n identity?: IdentityData;\n fields?: FieldData[];\n attachments?: AttachmentData[];\n collectionIds?: string[];\n\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.folderId = response.folderId;\n this.userId = userId;\n this.edit = response.edit;\n this.organizationUseTotp = response.organizationUseTotp;\n this.favorite = response.favorite;\n this.revisionDate = response.revisionDate;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n\n if (collectionIds != null) {\n this.collectionIds = collectionIds;\n } else {\n this.collectionIds = response.collectionIds;\n }\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginData(response.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteData(response.secureNote);\n break;\n case CipherType.Card:\n this.card = new CardData(response.card);\n break;\n case CipherType.Identity:\n this.identity = new IdentityData(response.identity);\n break;\n default:\n break;\n }\n\n if (response.fields != null) {\n this.fields = [];\n response.fields.forEach((field) => {\n this.fields.push(new FieldData(field));\n });\n }\n\n if (response.attachments != null) {\n this.attachments = [];\n response.attachments.forEach((attachment) => {\n this.attachments.push(new AttachmentData(attachment));\n });\n }\n }\n}\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 {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-avatar',\r\n template: '',\r\n})\r\nexport class AvatarComponent implements OnChanges, OnInit {\r\n @Input() data: string;\r\n @Input() width = 45;\r\n @Input() height = 45;\r\n @Input() charCount = 2;\r\n @Input() textColor = '#ffffff';\r\n @Input() fontSize = 20;\r\n @Input() fontWeight = 300;\r\n @Input() dynamic = false;\r\n @Input() circle = false;\r\n\r\n src: string;\r\n\r\n constructor(public sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n if (!this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n private generate() {\r\n let chars: string = null;\r\n const upperData = this.data.toUpperCase();\r\n\r\n if (this.charCount > 1) {\r\n chars = this.getFirstLetters(upperData, this.charCount);\r\n }\r\n if (chars == null) {\r\n chars = upperData.substr(0, this.charCount);\r\n }\r\n\r\n const charObj = this.getCharText(chars);\r\n const color = this.stringToColor(upperData);\r\n const svg = this.getSvg(this.width, this.height, color);\r\n svg.appendChild(charObj);\r\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\r\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\r\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\r\n }\r\n\r\n private stringToColor(str: string): string {\r\n let hash = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n // tslint:disable-next-line\r\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n let color = '#';\r\n for (let i = 0; i < 3; i++) {\r\n // tslint:disable-next-line\r\n const value = (hash >> (i * 8)) & 0xFF;\r\n color += ('00' + value.toString(16)).substr(-2);\r\n }\r\n return color;\r\n }\r\n\r\n private getFirstLetters(data: string, count: number): string {\r\n const parts = data.split(' ');\r\n if (parts.length > 1) {\r\n let text = '';\r\n for (let i = 0; i < count; i++) {\r\n text += parts[i].substr(0, 1);\r\n }\r\n return text;\r\n }\r\n return null;\r\n }\r\n\r\n private getSvg(width: number, height: number, color: string): HTMLElement {\r\n const svgTag = window.document.createElement('svg');\r\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n svgTag.setAttribute('pointer-events', 'none');\r\n svgTag.setAttribute('width', width.toString());\r\n svgTag.setAttribute('height', height.toString());\r\n svgTag.style.backgroundColor = color;\r\n svgTag.style.width = width + 'px';\r\n svgTag.style.height = height + 'px';\r\n return svgTag;\r\n }\r\n\r\n private getCharText(character: string): HTMLElement {\r\n const textTag = window.document.createElement('text');\r\n textTag.setAttribute('text-anchor', 'middle');\r\n textTag.setAttribute('y', '50%');\r\n textTag.setAttribute('x', '50%');\r\n textTag.setAttribute('dy', '0.35em');\r\n textTag.setAttribute('pointer-events', 'auto');\r\n textTag.setAttribute('fill', this.textColor);\r\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\r\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\r\n textTag.textContent = character;\r\n textTag.style.fontWeight = this.fontWeight.toString();\r\n textTag.style.fontSize = this.fontSize + 'px';\r\n return textTag;\r\n }\r\n}\r\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';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n collectionIds: string[];\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n this.revisionDate = obj.revisionDate;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = [];\n obj.attachments.forEach((attachment) => {\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\n });\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = [];\n obj.fields.forEach((field) => {\n this.fields.push(new Field(field, alreadyEncrypted));\n });\n } else {\n this.fields = null;\n }\n }\n\n async decrypt(): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = [];\n this.fields.forEach((field) => {\n c.fields.push(field.toFieldData());\n });\n }\n\n if (this.attachments != null) {\n c.attachments = [];\n this.attachments.forEach((attachment) => {\n c.attachments.push(attachment.toAttachmentData());\n });\n }\n return c;\n }\n}\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\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class LoginView implements View {\r\n username: string;\r\n password: string;\r\n totp: string;\r\n uris: LoginUriView[];\r\n\r\n constructor(l?: Login) {\r\n // ctor\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 { 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 collectionIds: string[];\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 }\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 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","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\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 CipherRequest {\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n login: LoginApi;\n secureNote: SecureNoteApi;\n card: CardApi;\n identity: IdentityApi;\n fields: FieldApi[];\n attachments: { [id: string]: string; };\n\n constructor(cipher: Cipher) {\n this.type = cipher.type;\n this.folderId = cipher.folderId;\n this.organizationId = cipher.organizationId;\n this.name = cipher.name ? cipher.name.encryptedString : null;\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\n this.favorite = cipher.favorite;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = {\n uris: null,\n username: cipher.login.username ? cipher.login.username.encryptedString : null,\n password: cipher.login.password ? cipher.login.password.encryptedString : null,\n totp: cipher.login.totp ? cipher.login.totp.encryptedString : null,\n };\n\n if (cipher.login.uris) {\n this.login.uris = [];\n cipher.login.uris.forEach((u) => {\n this.login.uris.push({\n uri: u.uri ? u.uri.encryptedString : null,\n match: u.match != null ? u.match : null,\n });\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = {\n type: cipher.secureNote.type,\n };\n break;\n case CipherType.Card:\n this.card = {\n cardholderName: cipher.card.cardholderName ? cipher.card.cardholderName.encryptedString : null,\n brand: cipher.card.brand ? cipher.card.brand.encryptedString : null,\n number: cipher.card.number ? cipher.card.number.encryptedString : null,\n expMonth: cipher.card.expMonth ? cipher.card.expMonth.encryptedString : null,\n expYear: cipher.card.expYear ? cipher.card.expYear.encryptedString : null,\n code: cipher.card.code ? cipher.card.code.encryptedString : null,\n };\n break;\n case CipherType.Identity:\n this.identity = {\n title: cipher.identity.title ? cipher.identity.title.encryptedString : null,\n firstName: cipher.identity.firstName ? cipher.identity.firstName.encryptedString : null,\n middleName: cipher.identity.middleName ? cipher.identity.middleName.encryptedString : null,\n lastName: cipher.identity.lastName ? cipher.identity.lastName.encryptedString : null,\n address1: cipher.identity.address1 ? cipher.identity.address1.encryptedString : null,\n address2: cipher.identity.address2 ? cipher.identity.address2.encryptedString : null,\n address3: cipher.identity.address3 ? cipher.identity.address3.encryptedString : null,\n city: cipher.identity.city ? cipher.identity.city.encryptedString : null,\n state: cipher.identity.state ? cipher.identity.state.encryptedString : null,\n postalCode: cipher.identity.postalCode ? cipher.identity.postalCode.encryptedString : null,\n country: cipher.identity.country ? cipher.identity.country.encryptedString : null,\n company: cipher.identity.company ? cipher.identity.company.encryptedString : null,\n email: cipher.identity.email ? cipher.identity.email.encryptedString : null,\n phone: cipher.identity.phone ? cipher.identity.phone.encryptedString : null,\n ssn: cipher.identity.ssn ? cipher.identity.ssn.encryptedString : null,\n username: cipher.identity.username ? cipher.identity.username.encryptedString : null,\n passportNumber: cipher.identity.passportNumber ?\n cipher.identity.passportNumber.encryptedString : null,\n licenseNumber: cipher.identity.licenseNumber ? cipher.identity.licenseNumber.encryptedString : null,\n };\n break;\n default:\n break;\n }\n\n if (cipher.fields) {\n this.fields = [];\n cipher.fields.forEach((field) => {\n this.fields.push({\n type: field.type,\n name: field.name ? field.name.encryptedString : null,\n value: field.value ? field.value.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments) {\n this.attachments = {};\n cipher.attachments.forEach((attachment) => {\n this.attachments[attachment.id] = attachment.fileName ? attachment.fileName.encryptedString : null;\n });\n }\n }\n}\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 {\r\n getCode: (keyb32: string) => Promise;\r\n isAutoCopyEnabled: () => Promise;\r\n}\r\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","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 {\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\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nconst MaxCheckedCount = 500;\r\n\r\n@Component({\r\n selector: 'app-vault-ciphers',\r\n templateUrl: 'ciphers.component.html',\r\n})\r\nexport class CiphersComponent extends BaseCiphersComponent {\r\n @Input() showAddNew = true;\r\n @Output() onAttachmentsClicked = new EventEmitter();\r\n @Output() onShareClicked = new EventEmitter();\r\n @Output() onCollectionsClicked = new EventEmitter();\r\n\r\n cipherType = CipherType;\r\n\r\n constructor(cipherService: CipherService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService) {\r\n super(cipherService);\r\n }\r\n\r\n checkCipher(c: CipherView, 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 if (select) {\r\n this.selectAll(false);\r\n }\r\n const selectCount = select && this.ciphers.length > MaxCheckedCount ? MaxCheckedCount : this.ciphers.length;\r\n for (let i = 0; i < selectCount; i++) {\r\n this.checkCipher(this.ciphers[i], select);\r\n }\r\n }\r\n\r\n getSelected(): CipherView[] {\r\n if (this.ciphers == null) {\r\n return [];\r\n }\r\n return this.ciphers.filter((c) => !!(c as any).checked);\r\n }\r\n\r\n getSelectedIds(): string[] {\r\n return this.getSelected().map((c) => c.id);\r\n }\r\n\r\n attachments(c: CipherView) {\r\n this.onAttachmentsClicked.emit(c);\r\n }\r\n\r\n share(c: CipherView) {\r\n this.onShareClicked.emit(c);\r\n }\r\n\r\n collections(c: CipherView) {\r\n this.onCollectionsClicked.emit(c);\r\n }\r\n\r\n async delete(c: CipherView): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\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 await this.cipherService.deleteWithServer(c.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\r\n this.refresh();\r\n }\r\n\r\n copy(value: string, typeI18nKey: string, aType: string) {\r\n if (value == null) {\r\n return;\r\n }\r\n\r\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\r\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\r\n this.toasterService.popAsync('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\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 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\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.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","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 { 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 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 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\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.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(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\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.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 await this.totpTick();\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick();\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 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 this.totpCodeFormatted = this.totpCode.substring(0, 3) + ' ' + this.totpCode.substring(3);\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n protected async totpTick() {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % 30;\n\n this.totpSec = 30 - mod;\n this.totpDash = +(Math.round(((2.62 * 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","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 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 {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: 'navbar.component.html',\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n selfHosted = false;\r\n name: string;\r\n\r\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\r\n private tokenService: TokenService) {\r\n this.selfHosted = this.platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.name = await this.tokenService.getName();\r\n if (this.name == null || this.name.trim() === '') {\r\n this.name = await this.tokenService.getEmail();\r\n }\r\n }\r\n\r\n lock() {\r\n this.messagingService.send('lockVault');\r\n }\r\n\r\n logOut() {\r\n this.messagingService.send('logout');\r\n }\r\n}\r\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';\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\n@Injectable()\r\nexport class OrganizationGuardService 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.params.organizationId);\r\n if (org == null) {\r\n this.router.navigate(['/']);\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 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';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst b32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\r\n\r\nexport class TotpService implements TotpServiceAbstraction {\r\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) {}\r\n\r\n async getCode(keyb32: string): Promise {\r\n const epoch = Math.round(new Date().getTime() / 1000.0);\r\n const timeHex = this.leftpad(this.dec2hex(Math.floor(epoch / 30)), 16, '0');\r\n const timeBytes = Utils.fromHexToArray(timeHex);\r\n const keyBytes = this.b32tobytes(keyb32);\r\n\r\n if (!keyBytes.length || !timeBytes.length) {\r\n return null;\r\n }\r\n\r\n const hashHex = await this.sign(keyBytes, timeBytes);\r\n if (!hashHex) {\r\n return null;\r\n }\r\n\r\n const offset = this.hex2dec(hashHex.substring(hashHex.length - 1));\r\n // tslint:disable-next-line\r\n let otp = (this.hex2dec(hashHex.substr(offset * 2, 8)) & this.hex2dec('7fffffff')) + '';\r\n otp = (otp).substr(otp.length - 6, 6);\r\n return otp;\r\n }\r\n\r\n async isAutoCopyEnabled(): Promise {\r\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\r\n }\r\n\r\n // Helpers\r\n\r\n private leftpad(s: string, l: number, p: string): string {\r\n if (l + 1 >= s.length) {\r\n s = Array(l + 1 - s.length).join(p) + s;\r\n }\r\n return s;\r\n }\r\n\r\n private dec2hex(d: number): string {\r\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\r\n }\r\n\r\n private hex2dec(s: string): number {\r\n return parseInt(s, 16);\r\n }\r\n\r\n private b32tohex(s: string): string {\r\n s = s.toUpperCase();\r\n let cleanedInput = '';\r\n\r\n for (let i = 0; i < s.length; i++) {\r\n if (b32Chars.indexOf(s[i]) < 0) {\r\n continue;\r\n }\r\n\r\n cleanedInput += s[i];\r\n }\r\n s = cleanedInput;\r\n\r\n let bits = '';\r\n let hex = '';\r\n for (let i = 0; i < s.length; i++) {\r\n const byteIndex = b32Chars.indexOf(s.charAt(i));\r\n if (byteIndex < 0) {\r\n continue;\r\n }\r\n bits += this.leftpad(byteIndex.toString(2), 5, '0');\r\n }\r\n for (let i = 0; i + 4 <= bits.length; i += 4) {\r\n const chunk = bits.substr(i, 4);\r\n hex = hex + parseInt(chunk, 2).toString(16);\r\n }\r\n return hex;\r\n }\r\n\r\n private b32tobytes(s: string): Uint8Array {\r\n return Utils.fromHexToArray(this.b32tohex(s));\r\n }\r\n\r\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array) {\r\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, 'sha1');\r\n return Utils.fromBufferToHex(signature);\r\n }\r\n}\r\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';\nimport { PasswordHistory } from '../models/domain/passwordHistory';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nconst DefaultOptions = {\n length: 14,\n ambiguous: false,\n number: true,\n minNumber: 1,\n uppercase: true,\n minUppercase: 0,\n lowercase: true,\n minLowercase: 0,\n special: false,\n minSpecial: 1,\n};\n\nconst Keys = {\n options: 'passwordGenerationOptions',\n history: 'generatedPasswordHistory',\n};\n\nconst MaxPasswordsInHistory = 100;\n\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\n private optionsCache: any;\n private history: PasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n // sanitize\n if (o.uppercase && o.minUppercase <= 0) {\n o.minUppercase = 1;\n }\n if (o.lowercase && o.minLowercase <= 0) {\n o.minLowercase = 1;\n }\n if (o.number && o.minNumber <= 0) {\n o.minNumber = 1;\n }\n if (o.special && o.minSpecial <= 0) {\n o.minSpecial = 1;\n }\n\n if (!o.length || o.length < 1) {\n o.length = 10;\n }\n\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\n if (o.length < minLength) {\n o.length = minLength;\n }\n\n const positions: string[] = [];\n if (o.lowercase && o.minLowercase > 0) {\n for (let i = 0; i < o.minLowercase; i++) {\n positions.push('l');\n }\n }\n if (o.uppercase && o.minUppercase > 0) {\n for (let i = 0; i < o.minUppercase; i++) {\n positions.push('u');\n }\n }\n if (o.number && o.minNumber > 0) {\n for (let i = 0; i < o.minNumber; i++) {\n positions.push('n');\n }\n }\n if (o.special && o.minSpecial > 0) {\n for (let i = 0; i < o.minSpecial; i++) {\n positions.push('s');\n }\n }\n while (positions.length < o.length) {\n positions.push('a');\n }\n\n // shuffle\n await this.shuffleArray(positions);\n\n // build out the char sets\n let allCharSet = '';\n\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\n if (o.ambiguous) {\n lowercaseCharSet += 'l';\n }\n if (o.lowercase) {\n allCharSet += lowercaseCharSet;\n }\n\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'O';\n }\n if (o.uppercase) {\n allCharSet += uppercaseCharSet;\n }\n\n let numberCharSet = '23456789';\n if (o.ambiguous) {\n numberCharSet += '01';\n }\n if (o.number) {\n allCharSet += numberCharSet;\n }\n\n const specialCharSet = '!@#$%^&*';\n if (o.special) {\n allCharSet += specialCharSet;\n }\n\n let password = '';\n for (let i = 0; i < o.length; i++) {\n let positionChars: string;\n switch (positions[i]) {\n case 'l':\n positionChars = lowercaseCharSet;\n break;\n case 'u':\n positionChars = uppercaseCharSet;\n break;\n case 'n':\n positionChars = numberCharSet;\n break;\n case 's':\n positionChars = specialCharSet;\n break;\n case 'a':\n positionChars = allCharSet;\n break;\n default:\n break;\n }\n\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\n password += positionChars.charAt(randomCharIndex);\n }\n\n return password;\n }\n\n async getOptions() {\n if (this.optionsCache == null) {\n const options = await this.storageService.get(Keys.options);\n if (options == null) {\n this.optionsCache = DefaultOptions;\n } else {\n this.optionsCache = options;\n }\n }\n\n return this.optionsCache;\n }\n\n async saveOptions(options: any) {\n await this.storageService.save(Keys.options, options);\n this.optionsCache = options;\n }\n\n async getHistory(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return new Array();\n }\n\n if (!this.history) {\n const encrypted = await this.storageService.get(Keys.history);\n this.history = await this.decryptHistory(encrypted);\n }\n\n return this.history || new Array();\n }\n\n async addHistory(password: string): Promise {\n // Cannot add new history if no key is available\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return;\n }\n\n const currentHistory = await this.getHistory();\n\n // Prevent duplicates\n if (this.matchesPrevious(password, currentHistory)) {\n return;\n }\n\n currentHistory.unshift(new PasswordHistory(password, Date.now()));\n\n // Remove old items.\n if (currentHistory.length > MaxPasswordsInHistory) {\n currentHistory.pop();\n }\n\n const newHistory = await this.encryptHistory(currentHistory);\n return await this.storageService.save(Keys.history, newHistory);\n }\n\n async clear(): Promise {\n this.history = [];\n return await this.storageService.remove(Keys.history);\n }\n\n private async encryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const encrypted = await this.cryptoService.encrypt(item.password);\n return new PasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\n return new PasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: PasswordHistory[]): boolean {\n if (history == null || history.length === 0) {\n return false;\n }\n\n return history[history.length - 1].password === password;\n }\n\n // ref: https://stackoverflow.com/a/12646864/1090359\n private async shuffleArray(array: string[]) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = await this.cryptoService.randomNumber(0, i);\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\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 option = await this.storageService.get(ConstantsService.lockOptionKey);\r\n if (option != null) {\r\n return null;\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';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Attachment } from '../models/domain/attachment';\r\nimport { Card } from '../models/domain/card';\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport Domain from '../models/domain/domain';\r\nimport { Field } from '../models/domain/field';\r\nimport { Identity } from '../models/domain/identity';\r\nimport { Login } from '../models/domain/login';\r\nimport { LoginUri } from '../models/domain/loginUri';\r\nimport { SecureNote } from '../models/domain/secureNote';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\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\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { View } from '../models/view/view';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SettingsService } from '../abstractions/settings.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 ciphersPrefix: 'ciphers_',\r\n localData: 'sitesLocalData',\r\n neverDomains: 'neverDomains',\r\n};\r\n\r\nexport class CipherService implements CipherServiceAbstraction {\r\n decryptedCipherCache: CipherView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private settingsService: SettingsService, private apiService: ApiService,\r\n private storageService: StorageService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async encrypt(model: CipherView, key?: SymmetricCryptoKey): Promise {\r\n const cipher = new Cipher();\r\n cipher.id = model.id;\r\n cipher.folderId = model.folderId;\r\n cipher.favorite = model.favorite;\r\n cipher.organizationId = model.organizationId;\r\n cipher.type = model.type;\r\n cipher.collectionIds = model.collectionIds;\r\n\r\n if (key == null && cipher.organizationId != null) {\r\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n }\r\n await Promise.all([\r\n this.encryptObjProperty(model, cipher, {\r\n name: null,\r\n notes: null,\r\n }, key),\r\n this.encryptCipherData(cipher, model, key),\r\n this.encryptFields(model.fields, key).then((fields) => {\r\n cipher.fields = fields;\r\n }),\r\n this.encryptAttachments(model.attachments, key).then((attachments) => {\r\n cipher.attachments = attachments;\r\n }),\r\n ]);\r\n\r\n return cipher;\r\n }\r\n\r\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\r\n if (attachmentsModel == null || attachmentsModel.length === 0) {\r\n return null;\r\n }\r\n\r\n const promises: Array> = [];\r\n const encAttachments: Attachment[] = [];\r\n attachmentsModel.forEach(async (model) => {\r\n const attachment = new Attachment();\r\n attachment.id = model.id;\r\n attachment.size = model.size;\r\n attachment.sizeName = model.sizeName;\r\n attachment.url = model.url;\r\n const promise = this.encryptObjProperty(model, attachment, {\r\n fileName: null,\r\n }, key).then(() => {\r\n encAttachments.push(attachment);\r\n });\r\n promises.push(promise);\r\n });\r\n\r\n await Promise.all(promises);\r\n return encAttachments;\r\n }\r\n\r\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\r\n if (!fieldsModel || !fieldsModel.length) {\r\n return null;\r\n }\r\n\r\n const self = this;\r\n const encFields: Field[] = [];\r\n await fieldsModel.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return self.encryptField(field, key);\r\n }).then((encField: Field) => {\r\n encFields.push(encField);\r\n });\r\n }, Promise.resolve());\r\n\r\n return encFields;\r\n }\r\n\r\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\r\n const field = new Field();\r\n field.type = fieldModel.type;\r\n\r\n await this.encryptObjProperty(fieldModel, field, {\r\n name: null,\r\n value: null,\r\n }, key);\r\n\r\n return field;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n const response: Cipher[] = [];\r\n for (const id in ciphers) {\r\n if (ciphers.hasOwnProperty(id)) {\r\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCipherCache != null) {\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n const decCiphers: CipherView[] = [];\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 promises: any[] = [];\r\n const ciphers = await this.getAll();\r\n ciphers.forEach((cipher) => {\r\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decCiphers.sort(this.getLocaleSortingFunction());\r\n this.decryptedCipherCache = decCiphers;\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\r\n const ciphers = await this.getAllDecrypted();\r\n\r\n return ciphers.filter((cipher) => {\r\n if (folder && cipher.folderId === groupingId) {\r\n return true;\r\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\r\n if (url == null && !includeOtherTypes) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const domain = this.platformUtilsService.getDomain(url);\r\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\r\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\r\n let matches: any[] = [];\r\n eqDomains.forEach((eqDomain) => {\r\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\r\n matches = matches.concat(eqDomain);\r\n }\r\n });\r\n\r\n if (!matches.length) {\r\n matches.push(domain);\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\r\n const matchingDomains = result[0];\r\n const ciphers = result[1];\r\n\r\n return ciphers.filter((cipher) => {\r\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\r\n return true;\r\n }\r\n\r\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\r\n for (let i = 0; i < cipher.login.uris.length; i++) {\r\n const u = cipher.login.uris[i];\r\n if (u.uri == null) {\r\n continue;\r\n }\r\n\r\n switch (u.match) {\r\n case null:\r\n case undefined:\r\n case UriMatchType.Domain:\r\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Host:\r\n const urlHost = Utils.getHost(url);\r\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Exact:\r\n if (url === u.uri) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.StartsWith:\r\n if (url.startsWith(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.RegularExpression:\r\n try {\r\n const regex = new RegExp(u.uri, 'i');\r\n if (regex.test(url)) {\r\n return true;\r\n }\r\n } catch { }\r\n break;\r\n case UriMatchType.Never:\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getLastUsedForUrl(url: string): Promise {\r\n const ciphers = await this.getAllDecryptedForUrl(url);\r\n if (ciphers.length === 0) {\r\n return null;\r\n }\r\n\r\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\r\n return sortedCiphers[0];\r\n }\r\n\r\n async updateLastUsedDate(id: string): Promise {\r\n let ciphersLocalData = await this.storageService.get(Keys.localData);\r\n if (!ciphersLocalData) {\r\n ciphersLocalData = {};\r\n }\r\n\r\n if (ciphersLocalData[id]) {\r\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\r\n } else {\r\n ciphersLocalData[id] = {\r\n lastUsedDate: new Date().getTime(),\r\n };\r\n }\r\n\r\n await this.storageService.save(Keys.localData, ciphersLocalData);\r\n\r\n if (this.decryptedCipherCache == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\r\n const cached = this.decryptedCipherCache[i];\r\n if (cached.id === id) {\r\n cached.localData = ciphersLocalData[id];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async saveNeverDomain(domain: string): Promise {\r\n if (domain == null) {\r\n return;\r\n }\r\n\r\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\r\n if (!domains) {\r\n domains = {};\r\n }\r\n domains[domain] = null;\r\n await this.storageService.save(Keys.neverDomains, domains);\r\n }\r\n\r\n async saveWithServer(cipher: Cipher): Promise {\r\n const request = new CipherRequest(cipher);\r\n\r\n let response: CipherResponse;\r\n if (cipher.id == null) {\r\n response = await this.apiService.postCipher(request);\r\n cipher.id = response.id;\r\n } else {\r\n response = await this.apiService.putCipher(cipher.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new CipherData(response, userId, cipher.collectionIds);\r\n await this.upsert(data);\r\n }\r\n\r\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n const encCipher = await this.encrypt(cipher);\r\n const request = new CipherShareRequest(encCipher);\r\n await this.apiService.putShareCipher(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCipher.toCipherData(userId));\r\n }\r\n\r\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\r\n const promises: Array> = [];\r\n const encCiphers: Cipher[] = [];\r\n for (const cipher of ciphers) {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n promises.push(this.encrypt(cipher).then((c) => {\r\n encCiphers.push(c);\r\n }));\r\n }\r\n await Promise.all(promises);\r\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\r\n await this.apiService.putShareCiphers(request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\r\n }\r\n\r\n async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\r\n organizationId: string): Promise {\r\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\r\n if (attachmentResponse.status !== 200) {\r\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\r\n }\r\n\r\n const buf = await attachmentResponse.arrayBuffer();\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\r\n const key = await this.cryptoService.getOrgKey(organizationId);\r\n const encData = await this.cryptoService.encryptToBytes(decBuf, key);\r\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n response = await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd,\r\n organizationId);\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n }\r\n\r\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(unencryptedFile);\r\n reader.onload = async (evt: any) => {\r\n try {\r\n const cData = await this.saveAttachmentRawWithServer(cipher,\r\n unencryptedFile.name, evt.target.result, admin);\r\n resolve(cData);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n };\r\n reader.onerror = (evt) => {\r\n reject('Error reading file.');\r\n };\r\n });\r\n }\r\n\r\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\r\n data: ArrayBuffer, admin = false): Promise {\r\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n const encFileName = await this.cryptoService.encrypt(filename, key);\r\n const encData = await this.cryptoService.encryptToBytes(data, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n if (admin) {\r\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\r\n } else {\r\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\r\n }\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const cData = new CipherData(response, userId, cipher.collectionIds);\r\n if (!admin) {\r\n this.upsert(cData);\r\n }\r\n return new Cipher(cData);\r\n }\r\n\r\n async saveCollectionsWithServer(cipher: Cipher): Promise {\r\n const request = new CipherCollectionsRequest(cipher.collectionIds);\r\n await this.apiService.putCipherCollections(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n const data = cipher.toCipherData(userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(cipher: CipherData | CipherData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n if (cipher instanceof CipherData) {\r\n const c = cipher as CipherData;\r\n ciphers[c.id] = c;\r\n } else {\r\n (cipher as CipherData[]).forEach((c) => {\r\n ciphers[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.ciphersPrefix + userId);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async moveManyWithServer(ids: string[], folderId: string): Promise {\r\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\r\n\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n ids.forEach((id) => {\r\n if (ciphers.hasOwnProperty(id)) {\r\n ciphers[id].folderId = folderId;\r\n }\r\n });\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete ciphers[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete ciphers[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteCipher(id);\r\n await this.delete(id);\r\n }\r\n\r\n async deleteManyWithServer(ids: string[]): Promise {\r\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\r\n await this.delete(ids);\r\n }\r\n\r\n async deleteAttachment(id: string, attachmentId: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n\r\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\r\n if (ciphers[id].attachments[i].id === attachmentId) {\r\n ciphers[id].attachments.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\r\n try {\r\n await this.apiService.deleteCipherAttachment(id, attachmentId);\r\n } catch (e) {\r\n return Promise.reject((e as ErrorResponse).getSingleMessage());\r\n }\r\n await this.deleteAttachment(id, attachmentId);\r\n }\r\n\r\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\r\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\r\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\r\n\r\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\r\n return 1;\r\n }\r\n if (aLastUsed != null && bLastUsed == null) {\r\n return -1;\r\n }\r\n\r\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\r\n return -1;\r\n }\r\n if (bLastUsed != null && aLastUsed == null) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\r\n const result = this.sortCiphersByLastUsed(a, b);\r\n if (result !== 0) {\r\n return result;\r\n }\r\n\r\n return this.getLocaleSortingFunction()(a, b);\r\n }\r\n\r\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\r\n return (a, b) => {\r\n let aName = a.name;\r\n let bName = b.name;\r\n\r\n if (aName == null && bName != null) {\r\n return -1;\r\n }\r\n if (aName != null && bName == null) {\r\n return 1;\r\n }\r\n if (aName == null && bName == null) {\r\n return 0;\r\n }\r\n\r\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n\r\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\r\n return result;\r\n }\r\n\r\n if (a.login.username != null) {\r\n aName += a.login.username;\r\n }\r\n\r\n if (b.login.username != null) {\r\n bName += b.login.username;\r\n }\r\n\r\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n };\r\n }\r\n\r\n // Helpers\r\n\r\n private async encryptObjProperty(model: V, obj: D,\r\n map: any, key: SymmetricCryptoKey): Promise {\r\n const promises = [];\r\n const self = this;\r\n\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n // tslint:disable-next-line\r\n (function (theProp, theObj) {\r\n const p = Promise.resolve().then(() => {\r\n const modelProp = (model as any)[(map[theProp] || theProp)];\r\n if (modelProp && modelProp !== '') {\r\n return self.cryptoService.encrypt(modelProp, key);\r\n }\r\n return null;\r\n }).then((val: CipherString) => {\r\n (theObj as any)[theProp] = val;\r\n });\r\n promises.push(p);\r\n })(prop, obj);\r\n }\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\r\n switch (cipher.type) {\r\n case CipherType.Login:\r\n cipher.login = new Login();\r\n await this.encryptObjProperty(model.login, cipher.login, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, key);\r\n\r\n if (model.login.uris != null) {\r\n cipher.login.uris = [];\r\n for (let i = 0; i < model.login.uris.length; i++) {\r\n const loginUri = new LoginUri();\r\n loginUri.match = model.login.uris[i].match;\r\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\r\n uri: null,\r\n }, key);\r\n cipher.login.uris.push(loginUri);\r\n }\r\n }\r\n return;\r\n case CipherType.SecureNote:\r\n cipher.secureNote = new SecureNote();\r\n cipher.secureNote.type = model.secureNote.type;\r\n return;\r\n case CipherType.Card:\r\n cipher.card = new Card();\r\n await this.encryptObjProperty(model.card, cipher.card, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, key);\r\n return;\r\n case CipherType.Identity:\r\n cipher.identity = new Identity();\r\n await this.encryptObjProperty(model.identity, cipher.identity, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, key);\r\n return;\r\n default:\r\n throw new Error('Unknown cipher type.');\r\n }\r\n }\r\n}\r\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';\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 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 = new Date(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.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';\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 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\n async ngOnInit() {\n this.editMode = this.loading = this.collectionId != null;\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\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 != null) {\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';\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 { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.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\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\r\n\r\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-collections',\r\n templateUrl: '../../vault/collections.component.html',\r\n})\r\nexport class CollectionsComponent extends BaseCollectionsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cipherService: CipherService, private apiService: ApiService) {\r\n super(collectionService, analytics, toasterService, i18nService, cipherService);\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 loadCipherCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCipherCollections();\r\n }\r\n return this.collectionIds;\r\n }\r\n\r\n protected loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCollections();\r\n }\r\n return Promise.resolve(this.collections);\r\n }\r\n\r\n protected saveCollections() {\r\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\r\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\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 { 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 { 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';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginUriView } from '../view/loginUriView';\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\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 { 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';\nimport { LoginUriApi } from '../api/loginUriApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n totp: string;\n\n constructor(data?: LoginApi) {\n if (data == null) {\n return;\n }\n\n this.username = data.username;\n this.password = data.password;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = [];\n data.uris.forEach((u) => {\n this.uris.push(new LoginUriData(u));\n });\n }\n }\n}\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 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 }\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","\r\n

\r\n \r\n

\r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

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

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

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

{{'noOrganizationsList' | i18n}}

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{o.name}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\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","
\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 = 589;","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'): Promise {\n if ((this.isEdge || this.isIE) && algorithm === 'sha1') {\n const md = 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'): string {\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()) && !this.isMobile(win);\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 private 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\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\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', '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 PasswordHistory {\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;\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 totp: string;\r\n\r\n constructor(data: any) {\r\n this.username = data.Username;\r\n this.password = data.Password;\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 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 { 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',\n ConstantsService.localeKey, ConstantsService.lockOptionKey]);\n private localStorageStartsWithKeys = ['twoFactorToken_'];\n\n async init() {\n const lockOption = await this.get(ConstantsService.lockOptionKey);\n if (lockOption == null) {\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 {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { LockService } from 'jslib/services/lock.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService();\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst environmentService = new EnvironmentService(apiService, storageService);\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, platformUtilsService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nconst lockService = new LockService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, null);\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n await (storageService as HtmlStorageService).init();\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n }\n await apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n\n // Uncomment these (and comment out the above) if you want to target production\n // servers for local development.\n\n // base: null,\n // api: 'https://api.bitwarden.com',\n // identity: 'https://identity.bitwarden.com',\n });\n\n lockService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n await authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: LockServiceAbstraction, useValue: lockService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\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 {{'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 {{'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 \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
{{billing.expiration | date:'mediumDate'}}
\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

{{'vault' | i18n}}

\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
\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 { PasswordHistory } from '../../models/domain/passwordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: PasswordHistory[] = [];\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' });\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","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
\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 localeSk from '@angular/common/locales/sk';\n\nregisterLocaleData(localeDa, 'da');\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/app/polyfills.ac1ccba05eeb1d48cd3e.js b/app/polyfills.18dab6f5583c91789704.js similarity index 54% rename from app/polyfills.ac1ccba05eeb1d48cd3e.js rename to app/polyfills.18dab6f5583c91789704.js index 07bd77db..26ca3f62 100644 --- a/app/polyfills.ac1ccba05eeb1d48cd3e.js +++ b/app/polyfills.18dab6f5583c91789704.js @@ -1,4 +1,4 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=943)}([,function(t,e,n){var r=n(16),o=n(54),i=n(45),a=n(41),u=n(59),c=function(t,e,n){var s,f,l,p,h=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,b=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,m=v?o:o[e]||(o[e]={}),_=m.prototype||(m.prototype={});for(s in v&&(n=e),n)l=((f=!h&&b&&void 0!==b[s])?b:n)[s],p=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,b&&a(b,s,l,t&c.U),m[s]!=l&&i(m,s,p),y&&_[s]!=l&&(_[s]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},,,,,,,,,,function(t,e,n){var r=n(19);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},,,function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,function(t,e,n){var r=n(113)("wks"),o=n(77),i=n(16).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},function(t,e,n){var r=n(11),o=n(207),i=n(64),a=Object.defineProperty;e.f=n(24)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(15)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,function(t,e,n){var r=n(68),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},,,,,,function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},,function(t,e,n){var r=n(57);t.exports=function(t){return Object(r(t))}},,function(t,e,n){var r=n(1),o=n(15),i=n(57),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e,n){var r=n(97),o=n(57);t.exports=function(t){return r(o(t))}},,function(t,e,n){var r=n(16),o=n(45),i=n(34),a=n(77)("src"),u=Function.toString,c=(""+u).split("toString");n(54).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},,,,function(t,e,n){var r=n(23),o=n(65);t.exports=n(24)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},,function(t,e,n){var r=n(34),o=n(36),i=n(148)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,,function(t,e,n){var r=n(15);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var r=n(104),o=n(65),i=n(39),a=n(64),u=n(34),c=n(207),s=Object.getOwnPropertyDescriptor;e.f=n(24)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},,function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(59),o=n(97),i=n(36),a=n(28),u=n(371);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,p=5==t||l,h=e||u;return function(e,u,v){for(var d,y,g=i(e),b=o(g),m=r(u,v,3),_=a(b.length),w=0,k=n?h(e,_):c?h(e,0):void 0;_>w;w++)if((p||w in b)&&(y=m(d=b[w],w,g),t))if(n)k[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:k.push(d)}else if(f)return!1;return l?-1:s||f?f:k}}},function(t,e,n){var r=n(1),o=n(54),i=n(15);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(48);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},,,function(t,e,n){var r=n(189),o=n(1),i=n(113)("metadata"),a=i.store||(i.store=new(n(186))),u=function(t,e,n){var o=a.get(t);if(!o){if(!n)return;a.set(t,o=new r)}var i=o.get(e);if(!i){if(!n)return;o.set(e,i=new r)}return i};t.exports={store:a,map:u,has:function(t,e,n){var r=u(e,n,!1);return void 0!==r&&r.has(t)},get:function(t,e,n){var r=u(e,n,!1);return void 0===r?void 0:r.get(t)},set:function(t,e,n,r){u(n,r,!0).set(t,e)},keys:function(t,e){var n=u(t,e,!1),r=[];return n&&n.forEach(function(t,e){r.push(e)}),r},key:function(t){return void 0===t||"symbol"==typeof t?t:String(t)},exp:function(t){o(o.S,"Reflect",t)}}},function(t,e,n){"use strict";if(n(24)){var r=n(81),o=n(16),i=n(15),a=n(1),u=n(107),c=n(132),s=n(59),f=n(79),l=n(65),p=n(45),h=n(78),v=n(68),d=n(28),y=n(75),g=n(64),b=n(34),m=n(201),_=n(89),w=n(19),k=n(36),S=n(135),E=n(67),x=n(47),T=n(74).f,O=n(111),A=n(77),P=n(22),j=n(55),M=n(122),F=n(133),D=n(164),I=n(84),R=n(110),C=n(80),L=n(134),N=n(192),z=n(23),Z=n(52),U=z.f,B=Z.f,H=o.RangeError,K=o.TypeError,W=o.Uint8Array,q=Array.prototype,G=c.ArrayBuffer,V=c.DataView,X=j(0),J=j(2),Y=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=D.values,ot=D.keys,it=D.entries,at=q.lastIndexOf,ut=q.reduce,ct=q.reduceRight,st=q.join,ft=q.sort,lt=q.slice,pt=q.toString,ht=q.toLocaleString,vt=P("iterator"),dt=P("toStringTag"),yt=A("typed_constructor"),gt=A("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Ot(F(t,t[gt]),e)}),kt=i(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),St=!!W&&!!W.prototype.set&&i(function(){new W(1).set({})}),Et=function(t,e){if(void 0===t)throw K("Wrong length!");var n=+t,r=d(t);if(e&&!m(n,r))throw H("Wrong length!");return r},xt=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},Tt=function(t){if(w(t)&&mt in t)return t;throw K(t+" is not a typed array!")},Ot=function(t,e){if(!(w(t)&&yt in t))throw K("It is not a typed array constructor!");return new t(e)},At=function(t,e){return Pt(F(t,t[gt]),e)},Pt=function(t,e){for(var n=0,r=e.length,o=Ot(t,r);r>n;)o[n]=e[n++];return o},jt=function(t,e,n){U(t,e,{get:function(){return this._d[n]}})},Mt=function(t){var e,n,r,o,i,a,u=k(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,p=O(u);if(void 0!=p&&!S(p)){for(a=p.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(u.length),o=Ot(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Ft=function(){for(var t=0,e=arguments.length,n=Ot(this,e);e>t;)n[t]=arguments[t++];return n},Dt=!!W&&i(function(){ht.call(new W(1))}),It=function(){return ht.apply(Dt?lt.call(Tt(this)):Tt(this),arguments)},Rt={copyWithin:function(t,e){return N.call(Tt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(Tt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return L.apply(Tt(this),arguments)},filter:function(t){return At(this,J(Tt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Tt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(Tt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Tt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(Tt(this),arguments)},lastIndexOf:function(t){return at.apply(Tt(this),arguments)},map:function(t){return wt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(Tt(this),arguments)},reduceRight:function(t){return ct.apply(Tt(this),arguments)},reverse:function(){for(var t,e=Tt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(Tt(this),t)},subarray:function(t,e){var n=Tt(this),r=n.length,o=y(t,r);return new(F(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:y(e,r))-o))}},Ct=function(t,e){return At(this,lt.call(Tt(this),t,e))},Lt=function(t){Tt(this);var e=xt(arguments[1],1),n=this.length,r=k(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[v](n*e+o.o,r,kt)}(this,n,t)},enumerable:!0})};m?(y=n(function(t,n,r,o){f(t,y,s,"_d");var i,a,u,c,l=0,h=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Pt(y,n):Mt.call(y,n);i=n,h=xt(r,e);var v=n.byteLength;if(void 0===o){if(v%e)throw H("Wrong length!");if((a=v-h)<0)throw H("Wrong length!")}else if((a=d(o)*e)+h>v)throw H("Wrong length!");u=a/e}else u=Et(n,!0),i=new G(a=u*e);for(p(t,"_d",{b:i,o:h,l:a,e:u,v:new V(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(77)("meta"),o=n(19),i=n(34),a=n(23).f,u=0,c=Object.isExtensible||function(){return!0},s=!n(15)(function(){return c(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:"O"+ ++u,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!c(t))return"F";if(!e)return"E";f(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!c(t))return!0;if(!e)return!1;f(t)}return t[r].w},onFreeze:function(t){return s&&l.NEED&&c(t)&&!i(t,r)&&f(t),t}}},,,,,function(t,e,n){var r=n(204),o=n(147).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){var r=n(68),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(204),o=n(147);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(41);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){"use strict";var r=n(16),o=n(23),i=n(24),a=n(22)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=!1},,function(t,e,n){var r=n(59),o=n(194),i=n(135),a=n(11),u=n(28),c=n(111),s={},f={};(e=t.exports=function(t,e,n,l,p){var h,v,d,y,g=p?function(){return t}:c(t),b=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(h=u(t.length);h>m;m++)if((y=e?b(a(v=t[m])[0],v[1]):b(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,b,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e){t.exports={}},function(t,e,n){var r=n(23).f,o=n(34),i=n(22)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},,,function(t,e,n){var r=n(22)("unscopables"),o=Array.prototype;void 0==o[r]&&n(45)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){var r=n(58),o=n(22)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},,,,,,,function(t,e,n){var r=n(1),o=n(57),i=n(15),a=n(142),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},function(t,e,n){var r=n(58);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},,,,,,function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e){e.f={}.propertyIsEnumerable},,,function(t,e,n){for(var r,o=n(16),i=n(45),a=n(77),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,p="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[p[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},function(t,e,n){"use strict";var r=n(16),o=n(1),i=n(41),a=n(78),u=n(69),c=n(83),s=n(79),f=n(19),l=n(15),p=n(110),h=n(85),v=n(141);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,k={},S=function(t){var e=w[t];i(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof m&&(g||w.forEach&&!l(function(){(new m).entries().next()}))){var E=new m,x=E[_](g?{}:-0,1)!=E,T=l(function(){E.has(1)}),O=p(function(t){new m(t)}),A=!g&&l(function(){for(var t=new m,e=5;e--;)t[_](e,e);return!t.has(-0)});O||((m=e(function(e,n){s(e,m,t);var r=v(new b,e,m);return void 0!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||A)&&(S("delete"),S("has"),y&&S("get")),(A||x)&&S(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return h(m,t),k[t]=m,o(o.G+o.W+o.F*(m!=b),k),g||d.setStrong(m,t,y),m}},function(t,e,n){"use strict";var r=n(45),o=n(41),i=n(15),a=n(57),u=n(22);t.exports=function(t,e,n){var c=u(t),s=n(a,c,""[t]),f=s[0],l=s[1];i(function(){var e={};return e[c]=function(){return 7},7!=""[t](e)})&&(o(String.prototype,t,f),r(RegExp.prototype,c,2==e?function(t,e){return l.call(t,this,e)}:function(t){return l.call(t,this)}))}},function(t,e,n){var r=n(22)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){var r=n(89),o=n(22)("iterator"),i=n(84);t.exports=n(54).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(16),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},,,,,,function(t,e,n){"use strict";var r=n(11);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(19),o=n(58),i=n(22)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},function(t,e,n){"use strict";var r=n(81),o=n(1),i=n(41),a=n(45),u=n(34),c=n(84),s=n(138),f=n(85),l=n(47),p=n(22)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,e,n,d,y,g,b){s(n,e,d);var m,_,w,k=function(t){if(!h&&t in T)return T[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",E="values"==y,x=!1,T=t.prototype,O=T[p]||T["@@iterator"]||y&&T[y],A=O||k(y),P=y?E?k("entries"):A:void 0,j="Array"==e&&T.entries||O;if(j&&(w=l(j.call(new t)))!==Object.prototype&&(f(w,S,!0),r||u(w,p)||a(w,p,v)),E&&O&&"values"!==O.name&&(x=!0,A=function(){return O.call(this)}),r&&!b||!h&&!x&&T[p]||a(T,p,A),c[e]=A,c[S]=v,y)if(m={values:E?A:k("values"),keys:g?A:k("keys"),entries:P},b)for(_ in m)_ in T||i(T,_,m[_]);else o(o.P+o.F*(h||x),e,m);return m}},function(t,e,n){var r=n(39),o=n(28),i=n(75);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},,,,,,,,,,function(t,e,n){"use strict";var r=n(16),o=n(24),i=n(81),a=n(107),u=n(45),c=n(78),s=n(15),f=n(79),l=n(68),p=n(28),h=n(74).f,v=n(23).f,d=n(134),y=n(85),g=r.ArrayBuffer,b=r.DataView,m=r.Math,_=r.RangeError,w=r.Infinity,k=g,S=m.abs,E=m.pow,x=m.floor,T=m.log,O=m.LN2,A=o?"_b":"buffer",P=o?"_l":"byteLength",j=o?"_o":"byteOffset",M=function(t,e,n){var r,o,i,a=Array(n),u=8*n-e-1,c=(1<>1,f=23===e?E(2,-24)-E(2,-77):0,l=0,p=t<0||0===t&&1/t<0?1:0;for((t=S(t))!=t||t===w?(o=t!=t?1:0,r=c):(r=x(T(t)/O),t*(i=E(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*E(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*E(2,e),r+=s):(o=t*E(2,s-1)*E(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*p,a},F=function(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-w:w;r+=E(2,e),f-=a}return(s?-1:1)*r*E(2,f-e)},D=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},I=function(t){return[255&t]},R=function(t){return[255&t,t>>8&255]},C=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},L=function(t){return M(t,52,8)},N=function(t){return M(t,23,4)},z=function(t,e,n){v(t.prototype,e,{get:function(){return this[n]}})},Z=function(t,e,n,r){var o=+n,i=l(o);if(o!=i||i<0||i+e>t[P])throw _("Wrong index!");var a=t[A]._b,u=i+t[j],c=a.slice(u,u+e);return r?c:c.reverse()},U=function(t,e,n,r,o,i){var a=+n,u=l(a);if(a!=u||u<0||u+e>t[P])throw _("Wrong index!");for(var c=t[A]._b,s=u+t[j],f=r(+o),p=0;pq;)(H=W[q++])in g||u(g,H,k[H]);i||(K.constructor=g)}var G=new b(new g(2)),V=b.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(b.prototype,{setInt8:function(t,e){V.call(this,t,e<<24>>24)},setUint8:function(t,e){V.call(this,t,e<<24>>24)}},!0)}else g=function(t){var e=B(this,t);this._b=d.call(Array(e),0),this[P]=e},b=function(t,e,n){f(this,b,"DataView"),f(t,g,"DataView");var r=t[P],o=l(e);if(o<0||o>r)throw _("Wrong offset!");if(o+(n=void 0===n?r-o:p(n))>r)throw _("Wrong length!");this[A]=t,this[j]=o,this[P]=n},o&&(z(g,"byteLength","_l"),z(b,"buffer","_b"),z(b,"byteLength","_l"),z(b,"byteOffset","_o")),c(b.prototype,{getInt8:function(t){return Z(this,1,t)[0]<<24>>24},getUint8:function(t){return Z(this,1,t)[0]},getInt16:function(t){var e=Z(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=Z(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return D(Z(this,4,t,arguments[1]))},getUint32:function(t){return D(Z(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return F(Z(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return F(Z(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){U(this,1,t,I,e)},setUint8:function(t,e){U(this,1,t,I,e)},setInt16:function(t,e){U(this,2,t,R,e,arguments[2])},setUint16:function(t,e){U(this,2,t,R,e,arguments[2])},setInt32:function(t,e){U(this,4,t,C,e,arguments[2])},setUint32:function(t,e){U(this,4,t,C,e,arguments[2])},setFloat32:function(t,e){U(this,4,t,N,e,arguments[2])},setFloat64:function(t,e){U(this,8,t,L,e,arguments[2])}});y(g,"ArrayBuffer"),y(b,"DataView"),u(b.prototype,a.VIEW,!0),e.ArrayBuffer=g,e.DataView=b},function(t,e,n){var r=n(11),o=n(48),i=n(22)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[i])?e:o(n)}},function(t,e,n){"use strict";var r=n(36),o=n(75),i=n(28);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){var r=n(84),o=n(22)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){var r=n(22)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(120),o=n(57);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){"use strict";var r=n(67),o=n(65),i=n(85),a={};n(45)(a,n(22)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){var r=n(19),o=n(144).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var r=n(19),o=n(11),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(59)(Function.call,n(52).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},function(t,e,n){t.exports=n(16).document&&document.documentElement},function(t,e,n){var r=n(58);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(113)("keys"),o=n(77);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(19),o=n(16).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},,,,,,,,,,,,,function(t,e,n){var r,o,i,a=n(59),u=n(143),c=n(145),s=n(149),f=n(16),l=f.process,p=f.setImmediate,h=f.clearImmediate,v=f.MessageChannel,d=0,y={},g=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){g.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++d]=function(){u("function"==typeof t?t:Function(t),e)},r(d),d},h=function(t){delete y[t]},"process"==n(58)(l)?r=function(t){l.nextTick(a(g,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",b,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),g.call(t)}}:function(t){setTimeout(a(g,t,1),0)}),t.exports={set:p,clear:h}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){"use strict";var r=n(88),o=n(163),i=n(84),a=n(39);t.exports=n(121)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){"use strict";var r=n(23),o=n(65);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){var r=n(68),o=n(57);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(68),o=n(57);t.exports=function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e,n){"use strict";var r=n(76),o=n(112),i=n(104),a=n(36),u=n(97),c=Object.assign;t.exports=!c||n(15)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var p,h=u(arguments[s++]),v=f?r(h).concat(f(h)):r(h),d=v.length,y=0;d>y;)l.call(h,p=v[y++])&&(n[p]=h[p]);return n}:c},,,,,,,,,,,,,,,,function(t,e,n){var r=n(74),o=n(112),i=n(11),a=n(16).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},function(t,e,n){"use strict";var r=n(78),o=n(69).getWeak,i=n(11),a=n(19),u=n(79),c=n(83),s=n(55),f=n(34),l=s(5),p=s(6),h=0,v=function(t){return t._l||(t._l=new d)},d=function(){this.a=[]},y=function(t,e){return l(t.a,function(t){return t[0]===e})};d.prototype={get:function(t){var e=y(this,t);if(e)return e[1]},has:function(t){return!!y(this,t)},set:function(t,e){var n=y(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._i=h++,t._l=void 0,void 0!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var e=o(t);return!0===e?v(this).delete(t):e&&f(e,this._i)&&delete e[this._i]},has:function(t){if(!a(t))return!1;var e=o(t);return!0===e?v(this).has(t):e&&f(e,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?v(t).set(e,n):r[t._i]=n,t},ufstore:v}},function(t,e,n){"use strict";var r,o=n(55)(0),i=n(41),a=n(69),u=n(168),c=n(185),s=n(19),f=a.getWeak,l=Object.isExtensible,p=c.ufstore,h={},v=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},d={get:function(t){if(s(t)){var e=f(t);return!0===e?p(this).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(this,t,e)}},y=t.exports=n(108)("WeakMap",v,d,c,!0,!0);7!=(new y).set((Object.freeze||Object)(h),7).get(h)&&(u((r=c.getConstructor(v)).prototype,d),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=y.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!l(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(188);t.exports=n(108)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(this,t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r=n(23).f,o=n(67),i=n(78),a=n(59),u=n(79),c=n(57),s=n(83),f=n(121),l=n(163),p=n(80),h=n(24),v=n(69).fastKey,d=h?"_s":"size",y=function(t,e){var n,r=v(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,f){var l=t(function(t,r){u(t,l,e,"_i"),t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,void 0!=r&&s(r,n,t[f],t)});return i(l.prototype,{clear:function(){for(var t=this._i,e=this._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete t[e.i];this._f=this._l=void 0,this[d]=0},delete:function(t){var e=y(this,t);if(e){var n=e.n,r=e.p;delete this._i[e.i],e.r=!0,r&&(r.n=n),n&&(n.p=r),this._f==e&&(this._f=n),this._l==e&&(this._l=r),this[d]--}return!!e},forEach:function(t){u(this,l,"forEach");for(var e,n=a(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!y(this,t)}}),h&&r(l.prototype,"size",{get:function(){return c(this[d])}}),l},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=v(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[d]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){f(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?l(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),p(e)}}},function(t,e,n){"use strict";var r=n(188);t.exports=n(108)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(this,t);return e&&e.v},set:function(t,e){return r.def(this,0===t?0:t,e)}},r,!0)},function(t,e,n){var r=n(16),o=n(162).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(58)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(i){var f=!0,l=document.createTextNode("");new i(s).observe(l,{characterData:!0}),n=function(){l.data=f=!f}}else if(u&&u.resolve){var p=u.resolve();n=function(){p.then(s)}}else n=function(){o.call(r,s)};return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){n(24)&&"g"!=/./g.flags&&n(23).f(RegExp.prototype,"flags",{configurable:!0,get:n(119)})},function(t,e,n){"use strict";var r=n(36),o=n(75),i=n(28);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e,n){var r=n(48),o=n(36),i=n(97),a=n(28);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),p=c?l-1:0,h=c?-1:1;if(n<2)for(;;){if(p in f){u=f[p],p+=h;break}if(p+=h,c?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;c?p>=0:l>p;p+=h)p in f&&(u=e(u,f[p],p,s));return u}},function(t,e,n){var r=n(11);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(19),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e,n){var r=n(58);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(16).parseFloat,o=n(96).trim;t.exports=1/r(n(142)+"-0")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(16).parseInt,o=n(96).trim,i=n(142),a=/^[\-+]?0[xX]/;t.exports=8!==r(i+"08")||22!==r(i+"0x16")?function(t,e){var n=o(String(t),3);return r(n,e>>>0||(a.test(n)?16:10))}:r},function(t,e,n){"use strict";var r=n(48),o=n(19),i=n(143),a=[].slice,u={};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;oc;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(34),o=n(39),i=n(122)(!1),a=n(148)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(16),o=n(54),i=n(81),a=n(206),u=n(23).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){e.f=n(22)},function(t,e,n){t.exports=!n(24)&&!n(15)(function(){return 7!=Object.defineProperty(n(149)("div"),"a",{get:function(){return 7}}).a})},,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(83);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},function(t,e,n){var r=n(76),o=n(39);t.exports=function(t,e){for(var n,i=o(t),a=r(i),u=a.length,c=0;u>c;)if(i[n=a[c++]]===e)return n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(62),o=n(11),i=n(48),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},function(t,e,n){var r=n(62),o=n(11),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(62),o=n(11),i=n(47),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(62),o=n(11),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(62),o=n(11),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(187),o=n(228),i=n(62),a=n(11),u=n(47),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(62),o=n(11),i=n(47),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(62),o=n(11),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(62),o=n(11),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(1),o=n(144);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(t){return!1}}})},function(t,e,n){var r=n(23),o=n(52),i=n(47),a=n(34),u=n(1),c=n(65),s=n(11),f=n(19);u(u.S,"Reflect",{set:function t(e,n,u){var l,p,h=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(p=i(e)))return t(p,n,u,h);v=c(0)}return a(v,"value")?!(!1===v.writable||!f(h)||((l=o.f(h,n)||c(0)).value=u,r.f(h,n,l),0)):void 0!==v.set&&(v.set.call(h,u),!0)}})},function(t,e,n){var r=n(1),o=n(11),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(t){return!1}}})},function(t,e,n){var r=n(1);r(r.S,"Reflect",{ownKeys:n(184)})},function(t,e,n){var r=n(1),o=n(11),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(1);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(1),o=n(47),i=n(11);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(52),o=n(1),i=n(11);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(52),o=n(47),i=n(34),a=n(1),u=n(19),c=n(11);a(a.S,"Reflect",{get:function t(e,n){var a,s,f=arguments.length<3?e:arguments[2];return c(e)===f?e[n]:(a=r.f(e,n))?i(a,"value")?a.value:void 0!==a.get?a.get.call(f):void 0:u(s=o(e))?t(s,n,f):void 0}})},function(t,e,n){"use strict";var r=n(1),o=n(11),i=function(t){this._t=o(t),this._i=0;var e,n=this._k=[];for(e in t)n.push(e)};n(138)(i,"Object",function(){var t,e=this._k;do{if(this._i>=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){var r=n(1),o=n(52).f,i=n(11);r(r.S,"Reflect",{deleteProperty:function(t,e){var n=o(i(t),e);return!(n&&!n.configurable)&&delete t[e]}})},function(t,e,n){var r=n(23),o=n(1),i=n(11),a=n(64);o(o.S+o.F*n(15)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,e,n){i(t),e=a(e,!0),i(n);try{return r.f(t,e,n),!0}catch(t){return!1}}})},function(t,e,n){var r=n(1),o=n(67),i=n(48),a=n(11),u=n(19),c=n(15),s=n(200),f=(n(16).Reflect||{}).construct,l=c(function(){function t(){}return!(f(function(){},[],t)instanceof t)}),p=!c(function(){f(function(){})});r(r.S+r.F*(l||p),"Reflect",{construct:function(t,e){i(t),a(e);var n=arguments.length<3?t:i(arguments[2]);if(p&&!l)return f(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(s.apply(t,r))}var c=n.prototype,h=o(u(c)?c:Object.prototype),v=Function.apply.call(t,h,e);return u(v)?v:h}})},function(t,e,n){var r=n(1),o=n(48),i=n(11),a=(n(16).Reflect||{}).apply,u=Function.apply;r(r.S+r.F*!n(15)(function(){a(function(){})}),"Reflect",{apply:function(t,e,n){var r=o(t),c=i(n);return a?a(r,e,c):u.call(r,e,c)}})},function(t,e,n){n(63)("Float64",8,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Float32",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Uint32",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Int32",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Uint16",2,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Int16",2,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Uint8",1,function(t){return function(e,n,r){return t(this,e,n,r)}},!0)},function(t,e,n){n(63)("Uint8",1,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Int8",1,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){var r=n(1);r(r.G+r.W+r.F*!n(107).ABV,{DataView:n(132).DataView})},function(t,e,n){"use strict";var r=n(1),o=n(107),i=n(132),a=n(11),u=n(75),c=n(28),s=n(19),f=n(16).ArrayBuffer,l=n(133),p=i.ArrayBuffer,h=i.DataView,v=o.ABV&&f.isView,d=p.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==p),{ArrayBuffer:p}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return v&&v(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(15)(function(){return!new p(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==d&&void 0===e)return d.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,p))(c(o-r)),s=new h(this),f=new h(i),v=0;r0?arguments[0]:void 0)}},{add:function(t){return r.def(this,t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r,o,i,a=n(81),u=n(16),c=n(59),s=n(89),f=n(1),l=n(19),p=n(48),h=n(79),v=n(83),d=n(133),y=n(162).set,g=n(190)(),b=u.TypeError,m=u.process,_=u.Promise,w="process"==s(m=u.process),k=function(){},S=!!function(){try{var t=_.resolve(1),e=(t.constructor={})[n(22)("species")]=function(t){t(k,k)};return(w||"function"==typeof PromiseRejectionEvent)&&t.then(k)instanceof e}catch(t){}}(),E=function(t,e){return t===e||t===_&&e===i},x=function(t){var e;return!(!l(t)||"function"!=typeof(e=t.then))&&e},T=function(t){return E(_,t)?new O(t):new o(t)},O=o=function(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw b("Bad Promise constructor");e=t,n=r}),this.resolve=p(e),this.reject=p(n)},A=function(t){try{t()}catch(t){return{error:t}}},P=function(t,e){if(!t._n){t._n=!0;var n=t._c;g(function(){for(var r=t._v,o=1==t._s,i=0,a=function(e){var n,i,a=o?e.ok:e.fail,u=e.resolve,c=e.reject,s=e.domain;try{a?(o||(2==t._h&&F(t),t._h=1),!0===a?n=r:(s&&s.enter(),n=a(r),s&&s.exit()),n===e.promise?c(b("Promise-chain cycle")):(i=x(n))?i.call(n,u,c):u(n)):c(r)}catch(t){c(t)}};n.length>i;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){y.call(u,function(){var e,n,r,o=t._v;if(M(t)&&(e=A(function(){w?m.emit("unhandledRejection",o,t):(n=u.onunhandledrejection)?n({promise:t,reason:o}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=w||M(t)?2:1),t._a=void 0,e)throw e.error})},M=function(t){if(1==t._h)return!1;for(var e,n=t._a||t._c,r=0;n.length>r;)if((e=n[r++]).fail||!M(e.promise))return!1;return!0},F=function(t){y.call(u,function(){var e;w?m.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})})},D=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),P(e,!0))},I=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw b("Promise can't be resolved itself");(e=x(t))?g(function(){var r={_w:n,_d:!1};try{e.call(t,c(I,r,1),c(D,r,1))}catch(t){D.call(r,t)}}):(n._v=t,n._s=1,P(n,!1))}catch(t){D.call({_w:n,_d:!1},t)}}};S||(_=function(t){h(this,_,"Promise","_h"),p(t),r.call(this);try{t(c(I,this,1),c(D,this,1))}catch(t){D.call(this,t)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(78)(_.prototype,{then:function(t,e){var n=T(d(this,_));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=w?m.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&P(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),O=function(){var t=new r;this.promise=t,this.resolve=c(I,t,1),this.reject=c(D,t,1)}),f(f.G+f.W+f.F*!S,{Promise:_}),n(85)(_,"Promise"),n(80)("Promise"),i=n(54).Promise,f(f.S+f.F*!S,"Promise",{reject:function(t){var e=T(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(a||!S),"Promise",{resolve:function(t){if(t instanceof _&&E(t.constructor,this))return t;var e=T(this);return(0,e.resolve)(t),e.promise}}),f(f.S+f.F*!(S&&n(110)(function(t){_.all(t).catch(k)})),"Promise",{all:function(t){var e=this,n=T(e),r=n.resolve,o=n.reject,i=A(function(){var n=[],i=0,a=1;v(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i&&o(i.error),n.promise},race:function(t){var e=this,n=T(e),r=n.reject,o=A(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o&&r(o.error),n.promise}})},function(t,e,n){n(109)("split",2,function(t,e,r){"use strict";var o=n(120),i=r,a=[].push;if("c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length){var u=void 0===/()??/.exec("")[1];r=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!o(t))return i.call(n,t,e);var r,c,s,f,l,p=[],h=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,d=void 0===e?4294967295:e>>>0,y=new RegExp(t.source,h+"g");for(u||(r=new RegExp("^"+y.source+"$(?!\\s)",h));(c=y.exec(n))&&!((s=c.index+c[0].length)>v&&(p.push(n.slice(v,c.index)),!u&&c.length>1&&c[0].replace(r,function(){for(l=1;l1&&c.index=d));)y.lastIndex===c.index&&y.lastIndex++;return v===n.length?!f&&y.test("")||p.push(""):p.push(n.slice(v)),p.length>d?p.slice(0,d):p}}else"0".split(void 0,0).length&&(r=function(t,e){return void 0===t&&0===e?[]:i.call(this,t,e)});return[function(n,o){var i=t(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},function(t,e,n){n(109)("search",1,function(t,e,n){return[function(n){"use strict";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(109)("replace",2,function(t,e,n){return[function(r,o){"use strict";var i=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(t,e,n){n(109)("match",1,function(t,e,n){return[function(n){"use strict";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){"use strict";n(191);var r=n(11),o=n(119),i=n(24),a=/./.toString,u=function(t){n(41)(RegExp.prototype,"toString",t,!0)};n(15)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){var r=n(16),o=n(141),i=n(23).f,a=n(74).f,u=n(120),c=n(119),s=r.RegExp,f=s,l=s.prototype,p=/a/g,h=/a/g,v=new s(p)!==p;if(n(24)&&(!v||n(15)(function(){return h[n(22)("match")]=!1,s(p)!=p||s(h)==h||"/a/i"!=s(p,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(v?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var d=function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},y=a(f),g=0;y.length>g;)d(y[g++]);l.constructor=s,s.prototype=l,n(41)(r,"RegExp",s)}n(80)("RegExp")},function(t,e,n){n(80)("Array")},function(t,e,n){"use strict";var r=n(1),o=n(55)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(88)(i)},function(t,e,n){"use strict";var r=n(1),o=n(55)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(88)("find")},function(t,e,n){var r=n(1);r(r.P,"Array",{fill:n(134)}),n(88)("fill")},function(t,e,n){var r=n(1);r(r.P,"Array",{copyWithin:n(192)}),n(88)("copyWithin")},function(t,e,n){"use strict";var r=n(1),o=n(39),i=n(68),a=n(28),u=[].lastIndexOf,c=!!u&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(c||!n(51)(u)),"Array",{lastIndexOf:function(t){if(c)return u.apply(this,arguments)||0;var e=o(this),n=a(e.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){"use strict";var r=n(1),o=n(122)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(51)(i)),"Array",{indexOf:function(t){return a?i.apply(this,arguments)||0:o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(193);r(r.P+r.F*!n(51)([].reduceRight,!0),"Array",{reduceRight:function(t){return o(this,t,arguments.length,arguments[1],!0)}})},function(t,e,n){"use strict";var r=n(1),o=n(193);r(r.P+r.F*!n(51)([].reduce,!0),"Array",{reduce:function(t){return o(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){"use strict";var r=n(1),o=n(55)(4);r(r.P+r.F*!n(51)([].every,!0),"Array",{every:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(55)(3);r(r.P+r.F*!n(51)([].some,!0),"Array",{some:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(55)(2);r(r.P+r.F*!n(51)([].filter,!0),"Array",{filter:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(55)(1);r(r.P+r.F*!n(51)([].map,!0),"Array",{map:function(t){return o(this,t,arguments[1])}})},function(t,e,n){var r=n(19),o=n(146),i=n(22)("species");t.exports=function(t){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var r=n(370);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){"use strict";var r=n(1),o=n(55)(0),i=n(51)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(48),i=n(36),a=n(15),u=[].sort,c=[1,2,3];r(r.P+r.F*(a(function(){c.sort(void 0)})||!a(function(){c.sort(null)})||!n(51)(u)),"Array",{sort:function(t){return void 0===t?u.call(i(this)):u.call(i(this),o(t))}})},function(t,e,n){"use strict";var r=n(1),o=n(145),i=n(58),a=n(75),u=n(28),c=[].slice;r(r.P+r.F*n(15)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=Array(f),p=0;pt;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(59),o=n(1),i=n(36),a=n(194),u=n(135),c=n(28),s=n(165),f=n(111);o(o.S+o.F*!n(110)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,p=i(t),h="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(p);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),void 0==b||h==Array&&u(b))for(n=new h(e=c(p.length));e>g;g++)s(n,g,y?d(p[g],g):p[g]);else for(l=b.call(p),n=new h;!(o=l.next()).done;g++)s(n,g,y?a(l,d,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){var r=n(1);r(r.S,"Array",{isArray:n(146)})},function(t,e,n){"use strict";var r=n(11),o=n(64);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(22)("toPrimitive"),o=Date.prototype;r in o||n(45)(o,r,n(379))},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(41)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){"use strict";var r=n(1),o=n(15),i=Date.prototype.getTime,a=function(t){return t>9?t:"0"+t};r(r.P+r.F*(o(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!o(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}})},function(t,e,n){"use strict";var r=n(1),o=n(36),i=n(64);r(r.P+r.F*n(15)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(1);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";n(38)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){"use strict";n(38)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(38)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(38)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(38)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(38)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(38)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(38)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(38)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(38)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(38)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(38)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(38)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";var r=n(1),o=n(28),i=n(137),a="".startsWith;r(r.P+r.F*n(136)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){var r=n(1);r(r.P,"String",{repeat:n(167)})},function(t,e,n){"use strict";var r=n(1),o=n(137);r(r.P+r.F*n(136)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){"use strict";var r=n(1),o=n(28),i=n(137),a="".endsWith;r(r.P+r.F*n(136)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(1),o=n(166)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(166)(!0);n(121)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";n(96)("trim",function(t){return function(){return t(this,3)}})},function(t,e,n){var r=n(1),o=n(39),i=n(28);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),ua;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(1);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(1),o=n(139),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(1),o=n(139),i=Math.exp;r(r.S+r.F*n(15)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(1);r(r.S,"Math",{sign:n(140)})},function(t,e,n){var r=n(1);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(1);r(r.S,"Math",{log1p:n(195)})},function(t,e,n){var r=n(1);r(r.S,"Math",{log10:function(t){return Math.log(t)/Math.LN10}})},function(t,e,n){var r=n(1),o=Math.imul;r(r.S+r.F*n(15)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(1),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(1),o=n(140),i=Math.pow,a=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),s=i(2,-126);r(r.S,"Math",{fround:function(t){var e,n,r=Math.abs(t),i=o(t);return rc||n!=n?i*(1/0):i*n}})},function(t,e,n){var r=n(1),o=n(139);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(1),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(1);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(1),o=n(140);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(1),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(1),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var r=n(1),o=n(195),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(1),o=n(199);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(1),o=n(198);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(1);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(1);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(1),o=n(196),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(1);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(1);r(r.S,"Number",{isInteger:n(196)})},function(t,e,n){var r=n(1),o=n(16).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(1);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){"use strict";var r=n(1),o=n(15),i=n(197),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){"use strict";var r=n(1),o=n(68),i=n(197),a=n(167),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},p=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},h=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(15)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)p(1<<23),r-=23;p(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){"use strict";var r=n(16),o=n(34),i=n(58),a=n(141),u=n(64),c=n(15),s=n(74).f,f=n(52).f,l=n(23).f,p=n(96).trim,h=r.Number,v=h,d=h.prototype,y="Number"==i(n(67)(d)),g="trim"in String.prototype,b=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():p(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,h):b(e)};for(var m,_=n(24)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)o(v,m=_[w])&&!o(h,m)&&l(h,m,f(v,m));h.prototype=d,d.constructor=h,n(41)(r,"Number",h)}},function(t,e,n){var r=n(1),o=n(198);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){var r=n(1),o=n(199);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){"use strict";var r=n(19),o=n(47),i=n(22)("hasInstance"),a=Function.prototype;i in a||n(23).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(23).f,o=n(65),i=n(34),a=Function.prototype,u=/^\s*function ([^ (]*)/,c=Object.isExtensible||function(){return!0};"name"in a||n(24)&&r(a,"name",{configurable:!0,get:function(){try{var t=(""+this).match(u)[1];return i(this,"name")||!c(this)||r(this,"name",o(5,t)),t}catch(t){return""}}})},function(t,e,n){var r=n(1);r(r.P,"Function",{bind:n(200)})},function(t,e,n){"use strict";var r=n(89),o={};o[n(22)("toStringTag")]="z",o+""!="[object z]"&&n(41)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(1);r(r.S,"Object",{setPrototypeOf:n(144).set})},function(t,e,n){var r=n(1);r(r.S,"Object",{is:n(201)})},function(t,e,n){var r=n(1);r(r.S+r.F,"Object",{assign:n(168)})},function(t,e,n){var r=n(19);n(56)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(19);n(56)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19);n(56)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19),o=n(69).onFreeze;n(56)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(69).onFreeze;n(56)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(69).onFreeze;n(56)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){n(56)("getOwnPropertyNames",function(){return n(202).f})},function(t,e,n){var r=n(36),o=n(76);n(56)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(36),o=n(47);n(56)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(39),o=n(52).f;n(56)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(1);r(r.S+r.F*!n(24),"Object",{defineProperties:n(203)})},function(t,e,n){var r=n(1);r(r.S+r.F*!n(24),"Object",{defineProperty:n(23).f})},function(t,e,n){var r=n(1);r(r.S,"Object",{create:n(67)})},function(t,e,n){var r=n(76),o=n(112),i=n(104);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){"use strict";var r=n(16),o=n(34),i=n(24),a=n(1),u=n(41),c=n(69).KEY,s=n(15),f=n(113),l=n(85),p=n(77),h=n(22),v=n(206),d=n(205),y=n(229),g=n(458),b=n(146),m=n(11),_=n(39),w=n(64),k=n(65),S=n(67),E=n(202),x=n(52),T=n(23),O=n(76),A=x.f,P=T.f,j=E.f,M=r.Symbol,F=r.JSON,D=F&&F.stringify,I=h("_hidden"),R=h("toPrimitive"),C={}.propertyIsEnumerable,L=f("symbol-registry"),N=f("symbols"),z=f("op-symbols"),Z=Object.prototype,U="function"==typeof M,B=r.QObject,H=!B||!B.prototype||!B.prototype.findChild,K=i&&s(function(){return 7!=S(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=A(Z,e);r&&delete Z[e],P(t,e,n),r&&t!==Z&&P(Z,e,r)}:P,W=function(t){var e=N[t]=S(M.prototype);return e._k=t,e},q=U&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},G=function(t,e,n){return t===Z&&G(z,e,n),m(t),e=w(e,!0),m(n),o(N,e)?(n.enumerable?(o(t,I)&&t[I][e]&&(t[I][e]=!1),n=S(n,{enumerable:k(0,!1)})):(o(t,I)||P(t,I,k(1,{})),t[I][e]=!0),K(t,e,n)):P(t,e,n)},V=function(t,e){m(t);for(var n,r=g(e=_(e)),o=0,i=r.length;i>o;)G(t,n=r[o++],e[n]);return t},X=function(t){var e=C.call(this,t=w(t,!0));return!(this===Z&&o(N,t)&&!o(z,t))&&(!(e||!o(this,t)||!o(N,t)||o(this,I)&&this[I][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==Z||!o(N,e)||o(z,e)){var n=A(t,e);return!n||!o(N,e)||o(t,I)&&t[I][e]||(n.enumerable=!0),n}},Y=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(N,e=n[i++])||e==I||e==c||r.push(e);return r},$=function(t){for(var e,n=t===Z,r=j(n?z:_(t)),i=[],a=0;r.length>a;)!o(N,e=r[a++])||n&&!o(Z,e)||i.push(N[e]);return i};U||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===Z&&e.call(z,n),o(this,I)&&o(this[I],t)&&(this[I][t]=!1),K(this,t,k(1,n))};return i&&H&&K(Z,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),x.f=J,T.f=G,n(74).f=E.f=Y,n(104).f=X,n(112).f=$,i&&!n(81)&&u(Z,"propertyIsEnumerable",X,!0),v.f=function(t){return W(h(t))}),a(a.G+a.W+a.F*!U,{Symbol:M});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)h(Q[tt++]);for(Q=O(h.store),tt=0;Q.length>tt;)d(Q[tt++]);a(a.S+a.F*!U,"Symbol",{for:function(t){return o(L,t+="")?L[t]:L[t]=M(t)},keyFor:function(t){if(q(t))return y(L,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!U,"Object",{create:function(t,e){return void 0===e?S(t):V(S(t),e)},defineProperty:G,defineProperties:V,getOwnPropertyDescriptor:J,getOwnPropertyNames:Y,getOwnPropertySymbols:$}),F&&a(a.S+a.F*(!U||s(function(){var t=M();return"[null]"!=D([t])||"{}"!=D({a:t})||"{}"!=D(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);return"function"==typeof(e=r[1])&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!q(e))return e}),r[1]=e,D.apply(F,r)}}}),M.prototype[R]||n(45)(M.prototype,R,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r,o; +!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=952)}([,function(t,e,n){var r=n(17),o=n(55),i=n(46),a=n(42),u=n(60),c=function(t,e,n){var s,f,l,p,h=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,b=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,m=v?o:o[e]||(o[e]={}),_=m.prototype||(m.prototype={});for(s in v&&(n=e),n)l=((f=!h&&b&&void 0!==b[s])?b:n)[s],p=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,b&&a(b,s,l,t&c.U),m[s]!=l&&i(m,s,p),y&&_[s]!=l&&(_[s]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},,,,,,,,,,function(t,e,n){var r=n(19);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},,function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,function(t,e,n){var r=n(114)("wks"),o=n(77),i=n(17).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},function(t,e,n){var r=n(11),o=n(209),i=n(64),a=Object.defineProperty;e.f=n(24)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(16)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,function(t,e,n){var r=n(68),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},,,,,,function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},,function(t,e,n){var r=n(58);t.exports=function(t){return Object(r(t))}},,,function(t,e,n){var r=n(1),o=n(16),i=n(58),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e,n){var r=n(99),o=n(58);t.exports=function(t){return r(o(t))}},,function(t,e,n){var r=n(17),o=n(46),i=n(34),a=n(77)("src"),u=Function.toString,c=(""+u).split("toString");n(55).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},,,,function(t,e,n){var r=n(23),o=n(65);t.exports=n(24)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},,,function(t,e,n){var r=n(34),o=n(36),i=n(149)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,function(t,e,n){var r=n(16);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var r=n(105),o=n(65),i=n(40),a=n(64),u=n(34),c=n(209),s=Object.getOwnPropertyDescriptor;e.f=n(24)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},,function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(60),o=n(99),i=n(36),a=n(28),u=n(373);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,p=5==t||l,h=e||u;return function(e,u,v){for(var d,y,g=i(e),b=o(g),m=r(u,v,3),_=a(b.length),w=0,k=n?h(e,_):c?h(e,0):void 0;_>w;w++)if((p||w in b)&&(y=m(d=b[w],w,g),t))if(n)k[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:k.push(d)}else if(f)return!1;return l?-1:s||f?f:k}}},function(t,e,n){var r=n(1),o=n(55),i=n(16);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(50);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},,function(t,e,n){var r=n(191),o=n(1),i=n(114)("metadata"),a=i.store||(i.store=new(n(188))),u=function(t,e,n){var o=a.get(t);if(!o){if(!n)return;a.set(t,o=new r)}var i=o.get(e);if(!i){if(!n)return;o.set(e,i=new r)}return i};t.exports={store:a,map:u,has:function(t,e,n){var r=u(e,n,!1);return void 0!==r&&r.has(t)},get:function(t,e,n){var r=u(e,n,!1);return void 0===r?void 0:r.get(t)},set:function(t,e,n,r){u(n,r,!0).set(t,e)},keys:function(t,e){var n=u(t,e,!1),r=[];return n&&n.forEach(function(t,e){r.push(e)}),r},key:function(t){return void 0===t||"symbol"==typeof t?t:String(t)},exp:function(t){o(o.S,"Reflect",t)}}},function(t,e,n){"use strict";if(n(24)){var r=n(81),o=n(17),i=n(16),a=n(1),u=n(108),c=n(133),s=n(60),f=n(79),l=n(65),p=n(46),h=n(78),v=n(68),d=n(28),y=n(75),g=n(64),b=n(34),m=n(203),_=n(89),w=n(19),k=n(36),S=n(136),E=n(67),x=n(49),T=n(74).f,O=n(112),A=n(77),P=n(22),j=n(56),M=n(123),F=n(134),D=n(165),I=n(84),R=n(111),C=n(80),L=n(135),N=n(194),z=n(23),Z=n(53),U=z.f,B=Z.f,H=o.RangeError,K=o.TypeError,W=o.Uint8Array,q=Array.prototype,G=c.ArrayBuffer,V=c.DataView,X=j(0),J=j(2),Y=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=D.values,ot=D.keys,it=D.entries,at=q.lastIndexOf,ut=q.reduce,ct=q.reduceRight,st=q.join,ft=q.sort,lt=q.slice,pt=q.toString,ht=q.toLocaleString,vt=P("iterator"),dt=P("toStringTag"),yt=A("typed_constructor"),gt=A("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Ot(F(t,t[gt]),e)}),kt=i(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),St=!!W&&!!W.prototype.set&&i(function(){new W(1).set({})}),Et=function(t,e){if(void 0===t)throw K("Wrong length!");var n=+t,r=d(t);if(e&&!m(n,r))throw H("Wrong length!");return r},xt=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},Tt=function(t){if(w(t)&&mt in t)return t;throw K(t+" is not a typed array!")},Ot=function(t,e){if(!(w(t)&&yt in t))throw K("It is not a typed array constructor!");return new t(e)},At=function(t,e){return Pt(F(t,t[gt]),e)},Pt=function(t,e){for(var n=0,r=e.length,o=Ot(t,r);r>n;)o[n]=e[n++];return o},jt=function(t,e,n){U(t,e,{get:function(){return this._d[n]}})},Mt=function(t){var e,n,r,o,i,a,u=k(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,p=O(u);if(void 0!=p&&!S(p)){for(a=p.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(u.length),o=Ot(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Ft=function(){for(var t=0,e=arguments.length,n=Ot(this,e);e>t;)n[t]=arguments[t++];return n},Dt=!!W&&i(function(){ht.call(new W(1))}),It=function(){return ht.apply(Dt?lt.call(Tt(this)):Tt(this),arguments)},Rt={copyWithin:function(t,e){return N.call(Tt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(Tt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return L.apply(Tt(this),arguments)},filter:function(t){return At(this,J(Tt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Tt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(Tt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Tt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(Tt(this),arguments)},lastIndexOf:function(t){return at.apply(Tt(this),arguments)},map:function(t){return wt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(Tt(this),arguments)},reduceRight:function(t){return ct.apply(Tt(this),arguments)},reverse:function(){for(var t,e=Tt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(Tt(this),t)},subarray:function(t,e){var n=Tt(this),r=n.length,o=y(t,r);return new(F(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:y(e,r))-o))}},Ct=function(t,e){return At(this,lt.call(Tt(this),t,e))},Lt=function(t){Tt(this);var e=xt(arguments[1],1),n=this.length,r=k(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[v](n*e+o.o,r,kt)}(this,n,t)},enumerable:!0})};m?(y=n(function(t,n,r,o){f(t,y,s,"_d");var i,a,u,c,l=0,h=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Pt(y,n):Mt.call(y,n);i=n,h=xt(r,e);var v=n.byteLength;if(void 0===o){if(v%e)throw H("Wrong length!");if((a=v-h)<0)throw H("Wrong length!")}else if((a=d(o)*e)+h>v)throw H("Wrong length!");u=a/e}else u=Et(n,!0),i=new G(a=u*e);for(p(t,"_d",{b:i,o:h,l:a,e:u,v:new V(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(77)("meta"),o=n(19),i=n(34),a=n(23).f,u=0,c=Object.isExtensible||function(){return!0},s=!n(16)(function(){return c(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:"O"+ ++u,w:{}}})},l=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!c(t))return"F";if(!e)return"E";f(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!c(t))return!0;if(!e)return!1;f(t)}return t[r].w},onFreeze:function(t){return s&&l.NEED&&c(t)&&!i(t,r)&&f(t),t}}},,,,,function(t,e,n){var r=n(206),o=n(148).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){var r=n(68),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(206),o=n(148);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(42);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){"use strict";var r=n(17),o=n(23),i=n(24),a=n(22)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=!1},,function(t,e,n){var r=n(60),o=n(196),i=n(136),a=n(11),u=n(28),c=n(112),s={},f={};(e=t.exports=function(t,e,n,l,p){var h,v,d,y,g=p?function(){return t}:c(t),b=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(h=u(t.length);h>m;m++)if((y=e?b(a(v=t[m])[0],v[1]):b(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,b,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e){t.exports={}},function(t,e,n){var r=n(23).f,o=n(34),i=n(22)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},,,function(t,e,n){var r=n(22)("unscopables"),o=Array.prototype;void 0==o[r]&&n(46)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){var r=n(59),o=n(22)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},,,,,,,,,function(t,e,n){var r=n(1),o=n(58),i=n(16),a=n(143),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},function(t,e,n){var r=n(59);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},,,,,function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e){e.f={}.propertyIsEnumerable},,,function(t,e,n){for(var r,o=n(17),i=n(46),a=n(77),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,p="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[p[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},function(t,e,n){"use strict";var r=n(17),o=n(1),i=n(42),a=n(78),u=n(69),c=n(83),s=n(79),f=n(19),l=n(16),p=n(111),h=n(85),v=n(142);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,k={},S=function(t){var e=w[t];i(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof m&&(g||w.forEach&&!l(function(){(new m).entries().next()}))){var E=new m,x=E[_](g?{}:-0,1)!=E,T=l(function(){E.has(1)}),O=p(function(t){new m(t)}),A=!g&&l(function(){for(var t=new m,e=5;e--;)t[_](e,e);return!t.has(-0)});O||((m=e(function(e,n){s(e,m,t);var r=v(new b,e,m);return void 0!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||A)&&(S("delete"),S("has"),y&&S("get")),(A||x)&&S(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return h(m,t),k[t]=m,o(o.G+o.W+o.F*(m!=b),k),g||d.setStrong(m,t,y),m}},function(t,e,n){"use strict";var r=n(46),o=n(42),i=n(16),a=n(58),u=n(22);t.exports=function(t,e,n){var c=u(t),s=n(a,c,""[t]),f=s[0],l=s[1];i(function(){var e={};return e[c]=function(){return 7},7!=""[t](e)})&&(o(String.prototype,t,f),r(RegExp.prototype,c,2==e?function(t,e){return l.call(t,this,e)}:function(t){return l.call(t,this)}))}},function(t,e,n){var r=n(22)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){var r=n(89),o=n(22)("iterator"),i=n(84);t.exports=n(55).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(17),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},,,,,,function(t,e,n){"use strict";var r=n(11);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(19),o=n(59),i=n(22)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},function(t,e,n){"use strict";var r=n(81),o=n(1),i=n(42),a=n(46),u=n(34),c=n(84),s=n(139),f=n(85),l=n(49),p=n(22)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,e,n,d,y,g,b){s(n,e,d);var m,_,w,k=function(t){if(!h&&t in T)return T[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",E="values"==y,x=!1,T=t.prototype,O=T[p]||T["@@iterator"]||y&&T[y],A=O||k(y),P=y?E?k("entries"):A:void 0,j="Array"==e&&T.entries||O;if(j&&(w=l(j.call(new t)))!==Object.prototype&&(f(w,S,!0),r||u(w,p)||a(w,p,v)),E&&O&&"values"!==O.name&&(x=!0,A=function(){return O.call(this)}),r&&!b||!h&&!x&&T[p]||a(T,p,A),c[e]=A,c[S]=v,y)if(m={values:E?A:k("values"),keys:g?A:k("keys"),entries:P},b)for(_ in m)_ in T||i(T,_,m[_]);else o(o.P+o.F*(h||x),e,m);return m}},function(t,e,n){var r=n(40),o=n(28),i=n(75);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},,,,,,,,,,function(t,e,n){"use strict";var r=n(17),o=n(24),i=n(81),a=n(108),u=n(46),c=n(78),s=n(16),f=n(79),l=n(68),p=n(28),h=n(74).f,v=n(23).f,d=n(135),y=n(85),g=r.ArrayBuffer,b=r.DataView,m=r.Math,_=r.RangeError,w=r.Infinity,k=g,S=m.abs,E=m.pow,x=m.floor,T=m.log,O=m.LN2,A=o?"_b":"buffer",P=o?"_l":"byteLength",j=o?"_o":"byteOffset",M=function(t,e,n){var r,o,i,a=Array(n),u=8*n-e-1,c=(1<>1,f=23===e?E(2,-24)-E(2,-77):0,l=0,p=t<0||0===t&&1/t<0?1:0;for((t=S(t))!=t||t===w?(o=t!=t?1:0,r=c):(r=x(T(t)/O),t*(i=E(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*E(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*E(2,e),r+=s):(o=t*E(2,s-1)*E(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*p,a},F=function(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-w:w;r+=E(2,e),f-=a}return(s?-1:1)*r*E(2,f-e)},D=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},I=function(t){return[255&t]},R=function(t){return[255&t,t>>8&255]},C=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},L=function(t){return M(t,52,8)},N=function(t){return M(t,23,4)},z=function(t,e,n){v(t.prototype,e,{get:function(){return this[n]}})},Z=function(t,e,n,r){var o=+n,i=l(o);if(o!=i||i<0||i+e>t[P])throw _("Wrong index!");var a=t[A]._b,u=i+t[j],c=a.slice(u,u+e);return r?c:c.reverse()},U=function(t,e,n,r,o,i){var a=+n,u=l(a);if(a!=u||u<0||u+e>t[P])throw _("Wrong index!");for(var c=t[A]._b,s=u+t[j],f=r(+o),p=0;pq;)(H=W[q++])in g||u(g,H,k[H]);i||(K.constructor=g)}var G=new b(new g(2)),V=b.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(b.prototype,{setInt8:function(t,e){V.call(this,t,e<<24>>24)},setUint8:function(t,e){V.call(this,t,e<<24>>24)}},!0)}else g=function(t){var e=B(this,t);this._b=d.call(Array(e),0),this[P]=e},b=function(t,e,n){f(this,b,"DataView"),f(t,g,"DataView");var r=t[P],o=l(e);if(o<0||o>r)throw _("Wrong offset!");if(o+(n=void 0===n?r-o:p(n))>r)throw _("Wrong length!");this[A]=t,this[j]=o,this[P]=n},o&&(z(g,"byteLength","_l"),z(b,"buffer","_b"),z(b,"byteLength","_l"),z(b,"byteOffset","_o")),c(b.prototype,{getInt8:function(t){return Z(this,1,t)[0]<<24>>24},getUint8:function(t){return Z(this,1,t)[0]},getInt16:function(t){var e=Z(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=Z(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return D(Z(this,4,t,arguments[1]))},getUint32:function(t){return D(Z(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return F(Z(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return F(Z(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){U(this,1,t,I,e)},setUint8:function(t,e){U(this,1,t,I,e)},setInt16:function(t,e){U(this,2,t,R,e,arguments[2])},setUint16:function(t,e){U(this,2,t,R,e,arguments[2])},setInt32:function(t,e){U(this,4,t,C,e,arguments[2])},setUint32:function(t,e){U(this,4,t,C,e,arguments[2])},setFloat32:function(t,e){U(this,4,t,N,e,arguments[2])},setFloat64:function(t,e){U(this,8,t,L,e,arguments[2])}});y(g,"ArrayBuffer"),y(b,"DataView"),u(b.prototype,a.VIEW,!0),e.ArrayBuffer=g,e.DataView=b},function(t,e,n){var r=n(11),o=n(50),i=n(22)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[i])?e:o(n)}},function(t,e,n){"use strict";var r=n(36),o=n(75),i=n(28);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){var r=n(84),o=n(22)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){var r=n(22)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(121),o=n(58);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){"use strict";var r=n(67),o=n(65),i=n(85),a={};n(46)(a,n(22)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){var r=n(19),o=n(145).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var r=n(19),o=n(11),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(60)(Function.call,n(53).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},function(t,e,n){t.exports=n(17).document&&document.documentElement},function(t,e,n){var r=n(59);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(114)("keys"),o=n(77);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(19),o=n(17).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},,,,,,,,,,,,,function(t,e,n){var r,o,i,a=n(60),u=n(144),c=n(146),s=n(150),f=n(17),l=f.process,p=f.setImmediate,h=f.clearImmediate,v=f.MessageChannel,d=0,y={},g=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){g.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++d]=function(){u("function"==typeof t?t:Function(t),e)},r(d),d},h=function(t){delete y[t]},"process"==n(59)(l)?r=function(t){l.nextTick(a(g,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",b,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),g.call(t)}}:function(t){setTimeout(a(g,t,1),0)}),t.exports={set:p,clear:h}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){"use strict";var r=n(88),o=n(164),i=n(84),a=n(40);t.exports=n(122)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){"use strict";var r=n(23),o=n(65);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){var r=n(68),o=n(58);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(68),o=n(58);t.exports=function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e,n){"use strict";var r=n(76),o=n(113),i=n(105),a=n(36),u=n(99),c=Object.assign;t.exports=!c||n(16)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var p,h=u(arguments[s++]),v=f?r(h).concat(f(h)):r(h),d=v.length,y=0;d>y;)l.call(h,p=v[y++])&&(n[p]=h[p]);return n}:c},,,,,,,,,,,,,,,,,function(t,e,n){var r=n(74),o=n(113),i=n(11),a=n(17).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},function(t,e,n){"use strict";var r=n(78),o=n(69).getWeak,i=n(11),a=n(19),u=n(79),c=n(83),s=n(56),f=n(34),l=s(5),p=s(6),h=0,v=function(t){return t._l||(t._l=new d)},d=function(){this.a=[]},y=function(t,e){return l(t.a,function(t){return t[0]===e})};d.prototype={get:function(t){var e=y(this,t);if(e)return e[1]},has:function(t){return!!y(this,t)},set:function(t,e){var n=y(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._i=h++,t._l=void 0,void 0!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var e=o(t);return!0===e?v(this).delete(t):e&&f(e,this._i)&&delete e[this._i]},has:function(t){if(!a(t))return!1;var e=o(t);return!0===e?v(this).has(t):e&&f(e,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?v(t).set(e,n):r[t._i]=n,t},ufstore:v}},function(t,e,n){"use strict";var r,o=n(56)(0),i=n(42),a=n(69),u=n(169),c=n(187),s=n(19),f=a.getWeak,l=Object.isExtensible,p=c.ufstore,h={},v=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},d={get:function(t){if(s(t)){var e=f(t);return!0===e?p(this).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(this,t,e)}},y=t.exports=n(109)("WeakMap",v,d,c,!0,!0);7!=(new y).set((Object.freeze||Object)(h),7).get(h)&&(u((r=c.getConstructor(v)).prototype,d),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=y.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!l(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(190);t.exports=n(109)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(this,t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r=n(23).f,o=n(67),i=n(78),a=n(60),u=n(79),c=n(58),s=n(83),f=n(122),l=n(164),p=n(80),h=n(24),v=n(69).fastKey,d=h?"_s":"size",y=function(t,e){var n,r=v(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,f){var l=t(function(t,r){u(t,l,e,"_i"),t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,void 0!=r&&s(r,n,t[f],t)});return i(l.prototype,{clear:function(){for(var t=this._i,e=this._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete t[e.i];this._f=this._l=void 0,this[d]=0},delete:function(t){var e=y(this,t);if(e){var n=e.n,r=e.p;delete this._i[e.i],e.r=!0,r&&(r.n=n),n&&(n.p=r),this._f==e&&(this._f=n),this._l==e&&(this._l=r),this[d]--}return!!e},forEach:function(t){u(this,l,"forEach");for(var e,n=a(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!y(this,t)}}),h&&r(l.prototype,"size",{get:function(){return c(this[d])}}),l},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=v(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[d]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){f(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?l(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),p(e)}}},function(t,e,n){"use strict";var r=n(190);t.exports=n(109)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(this,t);return e&&e.v},set:function(t,e){return r.def(this,0===t?0:t,e)}},r,!0)},function(t,e,n){var r=n(17),o=n(163).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(59)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(i){var f=!0,l=document.createTextNode("");new i(s).observe(l,{characterData:!0}),n=function(){l.data=f=!f}}else if(u&&u.resolve){var p=u.resolve();n=function(){p.then(s)}}else n=function(){o.call(r,s)};return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){n(24)&&"g"!=/./g.flags&&n(23).f(RegExp.prototype,"flags",{configurable:!0,get:n(120)})},function(t,e,n){"use strict";var r=n(36),o=n(75),i=n(28);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e,n){var r=n(50),o=n(36),i=n(99),a=n(28);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),p=c?l-1:0,h=c?-1:1;if(n<2)for(;;){if(p in f){u=f[p],p+=h;break}if(p+=h,c?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;c?p>=0:l>p;p+=h)p in f&&(u=e(u,f[p],p,s));return u}},function(t,e,n){var r=n(11);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(19),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e,n){var r=n(59);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(17).parseFloat,o=n(98).trim;t.exports=1/r(n(143)+"-0")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(17).parseInt,o=n(98).trim,i=n(143),a=/^[\-+]?0[xX]/;t.exports=8!==r(i+"08")||22!==r(i+"0x16")?function(t,e){var n=o(String(t),3);return r(n,e>>>0||(a.test(n)?16:10))}:r},function(t,e,n){"use strict";var r=n(50),o=n(19),i=n(144),a=[].slice,u={};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;oc;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(34),o=n(40),i=n(123)(!1),a=n(149)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(17),o=n(55),i=n(81),a=n(208),u=n(23).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){e.f=n(22)},function(t,e,n){t.exports=!n(24)&&!n(16)(function(){return 7!=Object.defineProperty(n(150)("div"),"a",{get:function(){return 7}}).a})},,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(83);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},function(t,e,n){var r=n(76),o=n(40);t.exports=function(t,e){for(var n,i=o(t),a=r(i),u=a.length,c=0;u>c;)if(i[n=a[c++]]===e)return n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(62),o=n(11),i=n(50),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},function(t,e,n){var r=n(62),o=n(11),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(62),o=n(11),i=n(49),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(62),o=n(11),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(62),o=n(11),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(189),o=n(229),i=n(62),a=n(11),u=n(49),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(62),o=n(11),i=n(49),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(62),o=n(11),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(62),o=n(11),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(1),o=n(145);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(t){return!1}}})},function(t,e,n){var r=n(23),o=n(53),i=n(49),a=n(34),u=n(1),c=n(65),s=n(11),f=n(19);u(u.S,"Reflect",{set:function t(e,n,u){var l,p,h=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(p=i(e)))return t(p,n,u,h);v=c(0)}return a(v,"value")?!(!1===v.writable||!f(h)||((l=o.f(h,n)||c(0)).value=u,r.f(h,n,l),0)):void 0!==v.set&&(v.set.call(h,u),!0)}})},function(t,e,n){var r=n(1),o=n(11),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(t){return!1}}})},function(t,e,n){var r=n(1);r(r.S,"Reflect",{ownKeys:n(186)})},function(t,e,n){var r=n(1),o=n(11),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(1);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(1),o=n(49),i=n(11);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(53),o=n(1),i=n(11);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(53),o=n(49),i=n(34),a=n(1),u=n(19),c=n(11);a(a.S,"Reflect",{get:function t(e,n){var a,s,f=arguments.length<3?e:arguments[2];return c(e)===f?e[n]:(a=r.f(e,n))?i(a,"value")?a.value:void 0!==a.get?a.get.call(f):void 0:u(s=o(e))?t(s,n,f):void 0}})},function(t,e,n){"use strict";var r=n(1),o=n(11),i=function(t){this._t=o(t),this._i=0;var e,n=this._k=[];for(e in t)n.push(e)};n(139)(i,"Object",function(){var t,e=this._k;do{if(this._i>=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){var r=n(1),o=n(53).f,i=n(11);r(r.S,"Reflect",{deleteProperty:function(t,e){var n=o(i(t),e);return!(n&&!n.configurable)&&delete t[e]}})},function(t,e,n){var r=n(23),o=n(1),i=n(11),a=n(64);o(o.S+o.F*n(16)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,e,n){i(t),e=a(e,!0),i(n);try{return r.f(t,e,n),!0}catch(t){return!1}}})},function(t,e,n){var r=n(1),o=n(67),i=n(50),a=n(11),u=n(19),c=n(16),s=n(202),f=(n(17).Reflect||{}).construct,l=c(function(){function t(){}return!(f(function(){},[],t)instanceof t)}),p=!c(function(){f(function(){})});r(r.S+r.F*(l||p),"Reflect",{construct:function(t,e){i(t),a(e);var n=arguments.length<3?t:i(arguments[2]);if(p&&!l)return f(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(s.apply(t,r))}var c=n.prototype,h=o(u(c)?c:Object.prototype),v=Function.apply.call(t,h,e);return u(v)?v:h}})},function(t,e,n){var r=n(1),o=n(50),i=n(11),a=(n(17).Reflect||{}).apply,u=Function.apply;r(r.S+r.F*!n(16)(function(){a(function(){})}),"Reflect",{apply:function(t,e,n){var r=o(t),c=i(n);return a?a(r,e,c):u.call(r,e,c)}})},function(t,e,n){n(63)("Float64",8,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Float32",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Uint32",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Int32",4,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Uint16",2,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Int16",2,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Uint8",1,function(t){return function(e,n,r){return t(this,e,n,r)}},!0)},function(t,e,n){n(63)("Uint8",1,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){n(63)("Int8",1,function(t){return function(e,n,r){return t(this,e,n,r)}})},function(t,e,n){var r=n(1);r(r.G+r.W+r.F*!n(108).ABV,{DataView:n(133).DataView})},function(t,e,n){"use strict";var r=n(1),o=n(108),i=n(133),a=n(11),u=n(75),c=n(28),s=n(19),f=n(17).ArrayBuffer,l=n(134),p=i.ArrayBuffer,h=i.DataView,v=o.ABV&&f.isView,d=p.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==p),{ArrayBuffer:p}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return v&&v(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(16)(function(){return!new p(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==d&&void 0===e)return d.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,p))(c(o-r)),s=new h(this),f=new h(i),v=0;r0?arguments[0]:void 0)}},{add:function(t){return r.def(this,t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r,o,i,a=n(81),u=n(17),c=n(60),s=n(89),f=n(1),l=n(19),p=n(50),h=n(79),v=n(83),d=n(134),y=n(163).set,g=n(192)(),b=u.TypeError,m=u.process,_=u.Promise,w="process"==s(m=u.process),k=function(){},S=!!function(){try{var t=_.resolve(1),e=(t.constructor={})[n(22)("species")]=function(t){t(k,k)};return(w||"function"==typeof PromiseRejectionEvent)&&t.then(k)instanceof e}catch(t){}}(),E=function(t,e){return t===e||t===_&&e===i},x=function(t){var e;return!(!l(t)||"function"!=typeof(e=t.then))&&e},T=function(t){return E(_,t)?new O(t):new o(t)},O=o=function(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw b("Bad Promise constructor");e=t,n=r}),this.resolve=p(e),this.reject=p(n)},A=function(t){try{t()}catch(t){return{error:t}}},P=function(t,e){if(!t._n){t._n=!0;var n=t._c;g(function(){for(var r=t._v,o=1==t._s,i=0,a=function(e){var n,i,a=o?e.ok:e.fail,u=e.resolve,c=e.reject,s=e.domain;try{a?(o||(2==t._h&&F(t),t._h=1),!0===a?n=r:(s&&s.enter(),n=a(r),s&&s.exit()),n===e.promise?c(b("Promise-chain cycle")):(i=x(n))?i.call(n,u,c):u(n)):c(r)}catch(t){c(t)}};n.length>i;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){y.call(u,function(){var e,n,r,o=t._v;if(M(t)&&(e=A(function(){w?m.emit("unhandledRejection",o,t):(n=u.onunhandledrejection)?n({promise:t,reason:o}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=w||M(t)?2:1),t._a=void 0,e)throw e.error})},M=function(t){if(1==t._h)return!1;for(var e,n=t._a||t._c,r=0;n.length>r;)if((e=n[r++]).fail||!M(e.promise))return!1;return!0},F=function(t){y.call(u,function(){var e;w?m.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})})},D=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),P(e,!0))},I=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw b("Promise can't be resolved itself");(e=x(t))?g(function(){var r={_w:n,_d:!1};try{e.call(t,c(I,r,1),c(D,r,1))}catch(t){D.call(r,t)}}):(n._v=t,n._s=1,P(n,!1))}catch(t){D.call({_w:n,_d:!1},t)}}};S||(_=function(t){h(this,_,"Promise","_h"),p(t),r.call(this);try{t(c(I,this,1),c(D,this,1))}catch(t){D.call(this,t)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(78)(_.prototype,{then:function(t,e){var n=T(d(this,_));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=w?m.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&P(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),O=function(){var t=new r;this.promise=t,this.resolve=c(I,t,1),this.reject=c(D,t,1)}),f(f.G+f.W+f.F*!S,{Promise:_}),n(85)(_,"Promise"),n(80)("Promise"),i=n(55).Promise,f(f.S+f.F*!S,"Promise",{reject:function(t){var e=T(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(a||!S),"Promise",{resolve:function(t){if(t instanceof _&&E(t.constructor,this))return t;var e=T(this);return(0,e.resolve)(t),e.promise}}),f(f.S+f.F*!(S&&n(111)(function(t){_.all(t).catch(k)})),"Promise",{all:function(t){var e=this,n=T(e),r=n.resolve,o=n.reject,i=A(function(){var n=[],i=0,a=1;v(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i&&o(i.error),n.promise},race:function(t){var e=this,n=T(e),r=n.reject,o=A(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o&&r(o.error),n.promise}})},function(t,e,n){n(110)("split",2,function(t,e,r){"use strict";var o=n(121),i=r,a=[].push;if("c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length){var u=void 0===/()??/.exec("")[1];r=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!o(t))return i.call(n,t,e);var r,c,s,f,l,p=[],h=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,d=void 0===e?4294967295:e>>>0,y=new RegExp(t.source,h+"g");for(u||(r=new RegExp("^"+y.source+"$(?!\\s)",h));(c=y.exec(n))&&!((s=c.index+c[0].length)>v&&(p.push(n.slice(v,c.index)),!u&&c.length>1&&c[0].replace(r,function(){for(l=1;l1&&c.index=d));)y.lastIndex===c.index&&y.lastIndex++;return v===n.length?!f&&y.test("")||p.push(""):p.push(n.slice(v)),p.length>d?p.slice(0,d):p}}else"0".split(void 0,0).length&&(r=function(t,e){return void 0===t&&0===e?[]:i.call(this,t,e)});return[function(n,o){var i=t(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},function(t,e,n){n(110)("search",1,function(t,e,n){return[function(n){"use strict";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(110)("replace",2,function(t,e,n){return[function(r,o){"use strict";var i=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(t,e,n){n(110)("match",1,function(t,e,n){return[function(n){"use strict";var r=t(this),o=void 0==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){"use strict";n(193);var r=n(11),o=n(120),i=n(24),a=/./.toString,u=function(t){n(42)(RegExp.prototype,"toString",t,!0)};n(16)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){var r=n(17),o=n(142),i=n(23).f,a=n(74).f,u=n(121),c=n(120),s=r.RegExp,f=s,l=s.prototype,p=/a/g,h=/a/g,v=new s(p)!==p;if(n(24)&&(!v||n(16)(function(){return h[n(22)("match")]=!1,s(p)!=p||s(h)==h||"/a/i"!=s(p,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(v?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var d=function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},y=a(f),g=0;y.length>g;)d(y[g++]);l.constructor=s,s.prototype=l,n(42)(r,"RegExp",s)}n(80)("RegExp")},function(t,e,n){n(80)("Array")},function(t,e,n){"use strict";var r=n(1),o=n(56)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(88)(i)},function(t,e,n){"use strict";var r=n(1),o=n(56)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(88)("find")},function(t,e,n){var r=n(1);r(r.P,"Array",{fill:n(135)}),n(88)("fill")},function(t,e,n){var r=n(1);r(r.P,"Array",{copyWithin:n(194)}),n(88)("copyWithin")},function(t,e,n){"use strict";var r=n(1),o=n(40),i=n(68),a=n(28),u=[].lastIndexOf,c=!!u&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(c||!n(52)(u)),"Array",{lastIndexOf:function(t){if(c)return u.apply(this,arguments)||0;var e=o(this),n=a(e.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){"use strict";var r=n(1),o=n(123)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(52)(i)),"Array",{indexOf:function(t){return a?i.apply(this,arguments)||0:o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(195);r(r.P+r.F*!n(52)([].reduceRight,!0),"Array",{reduceRight:function(t){return o(this,t,arguments.length,arguments[1],!0)}})},function(t,e,n){"use strict";var r=n(1),o=n(195);r(r.P+r.F*!n(52)([].reduce,!0),"Array",{reduce:function(t){return o(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){"use strict";var r=n(1),o=n(56)(4);r(r.P+r.F*!n(52)([].every,!0),"Array",{every:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(56)(3);r(r.P+r.F*!n(52)([].some,!0),"Array",{some:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(56)(2);r(r.P+r.F*!n(52)([].filter,!0),"Array",{filter:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(56)(1);r(r.P+r.F*!n(52)([].map,!0),"Array",{map:function(t){return o(this,t,arguments[1])}})},function(t,e,n){var r=n(19),o=n(147),i=n(22)("species");t.exports=function(t){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var r=n(372);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){"use strict";var r=n(1),o=n(56)(0),i=n(52)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(1),o=n(50),i=n(36),a=n(16),u=[].sort,c=[1,2,3];r(r.P+r.F*(a(function(){c.sort(void 0)})||!a(function(){c.sort(null)})||!n(52)(u)),"Array",{sort:function(t){return void 0===t?u.call(i(this)):u.call(i(this),o(t))}})},function(t,e,n){"use strict";var r=n(1),o=n(146),i=n(59),a=n(75),u=n(28),c=[].slice;r(r.P+r.F*n(16)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=Array(f),p=0;pt;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(60),o=n(1),i=n(36),a=n(196),u=n(136),c=n(28),s=n(166),f=n(112);o(o.S+o.F*!n(111)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,p=i(t),h="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(p);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),void 0==b||h==Array&&u(b))for(n=new h(e=c(p.length));e>g;g++)s(n,g,y?d(p[g],g):p[g]);else for(l=b.call(p),n=new h;!(o=l.next()).done;g++)s(n,g,y?a(l,d,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){var r=n(1);r(r.S,"Array",{isArray:n(147)})},function(t,e,n){"use strict";var r=n(11),o=n(64);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(22)("toPrimitive"),o=Date.prototype;r in o||n(46)(o,r,n(381))},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(42)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){"use strict";var r=n(1),o=n(16),i=Date.prototype.getTime,a=function(t){return t>9?t:"0"+t};r(r.P+r.F*(o(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!o(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}})},function(t,e,n){"use strict";var r=n(1),o=n(36),i=n(64);r(r.P+r.F*n(16)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(1);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";n(39)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){"use strict";n(39)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(39)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(39)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(39)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(39)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(39)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(39)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(39)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(39)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(39)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(39)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(39)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";var r=n(1),o=n(28),i=n(138),a="".startsWith;r(r.P+r.F*n(137)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){var r=n(1);r(r.P,"String",{repeat:n(168)})},function(t,e,n){"use strict";var r=n(1),o=n(138);r(r.P+r.F*n(137)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){"use strict";var r=n(1),o=n(28),i=n(138),a="".endsWith;r(r.P+r.F*n(137)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(1),o=n(167)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(167)(!0);n(122)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";n(98)("trim",function(t){return function(){return t(this,3)}})},function(t,e,n){var r=n(1),o=n(40),i=n(28);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),ua;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(1);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(1),o=n(140),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(1),o=n(140),i=Math.exp;r(r.S+r.F*n(16)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(1);r(r.S,"Math",{sign:n(141)})},function(t,e,n){var r=n(1);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(1);r(r.S,"Math",{log1p:n(197)})},function(t,e,n){var r=n(1);r(r.S,"Math",{log10:function(t){return Math.log(t)/Math.LN10}})},function(t,e,n){var r=n(1),o=Math.imul;r(r.S+r.F*n(16)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(1),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(1),o=n(141),i=Math.pow,a=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),s=i(2,-126);r(r.S,"Math",{fround:function(t){var e,n,r=Math.abs(t),i=o(t);return rc||n!=n?i*(1/0):i*n}})},function(t,e,n){var r=n(1),o=n(140);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(1),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(1);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(1),o=n(141);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(1),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(1),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var r=n(1),o=n(197),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(1),o=n(201);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(1),o=n(200);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(1);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(1);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(1),o=n(198),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(1);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(1);r(r.S,"Number",{isInteger:n(198)})},function(t,e,n){var r=n(1),o=n(17).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(1);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){"use strict";var r=n(1),o=n(16),i=n(199),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){"use strict";var r=n(1),o=n(68),i=n(199),a=n(168),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},p=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},h=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(16)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)p(1<<23),r-=23;p(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){"use strict";var r=n(17),o=n(34),i=n(59),a=n(142),u=n(64),c=n(16),s=n(74).f,f=n(53).f,l=n(23).f,p=n(98).trim,h=r.Number,v=h,d=h.prototype,y="Number"==i(n(67)(d)),g="trim"in String.prototype,b=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():p(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,h):b(e)};for(var m,_=n(24)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)o(v,m=_[w])&&!o(h,m)&&l(h,m,f(v,m));h.prototype=d,d.constructor=h,n(42)(r,"Number",h)}},function(t,e,n){var r=n(1),o=n(200);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){var r=n(1),o=n(201);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){"use strict";var r=n(19),o=n(49),i=n(22)("hasInstance"),a=Function.prototype;i in a||n(23).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(23).f,o=n(65),i=n(34),a=Function.prototype,u=/^\s*function ([^ (]*)/,c=Object.isExtensible||function(){return!0};"name"in a||n(24)&&r(a,"name",{configurable:!0,get:function(){try{var t=(""+this).match(u)[1];return i(this,"name")||!c(this)||r(this,"name",o(5,t)),t}catch(t){return""}}})},function(t,e,n){var r=n(1);r(r.P,"Function",{bind:n(202)})},function(t,e,n){"use strict";var r=n(89),o={};o[n(22)("toStringTag")]="z",o+""!="[object z]"&&n(42)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(1);r(r.S,"Object",{setPrototypeOf:n(145).set})},function(t,e,n){var r=n(1);r(r.S,"Object",{is:n(203)})},function(t,e,n){var r=n(1);r(r.S+r.F,"Object",{assign:n(169)})},function(t,e,n){var r=n(19);n(57)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(19);n(57)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19);n(57)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19),o=n(69).onFreeze;n(57)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(69).onFreeze;n(57)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(69).onFreeze;n(57)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){n(57)("getOwnPropertyNames",function(){return n(204).f})},function(t,e,n){var r=n(36),o=n(76);n(57)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(36),o=n(49);n(57)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(40),o=n(53).f;n(57)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(1);r(r.S+r.F*!n(24),"Object",{defineProperties:n(205)})},function(t,e,n){var r=n(1);r(r.S+r.F*!n(24),"Object",{defineProperty:n(23).f})},function(t,e,n){var r=n(1);r(r.S,"Object",{create:n(67)})},function(t,e,n){var r=n(76),o=n(113),i=n(105);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){"use strict";var r=n(17),o=n(34),i=n(24),a=n(1),u=n(42),c=n(69).KEY,s=n(16),f=n(114),l=n(85),p=n(77),h=n(22),v=n(208),d=n(207),y=n(230),g=n(460),b=n(147),m=n(11),_=n(40),w=n(64),k=n(65),S=n(67),E=n(204),x=n(53),T=n(23),O=n(76),A=x.f,P=T.f,j=E.f,M=r.Symbol,F=r.JSON,D=F&&F.stringify,I=h("_hidden"),R=h("toPrimitive"),C={}.propertyIsEnumerable,L=f("symbol-registry"),N=f("symbols"),z=f("op-symbols"),Z=Object.prototype,U="function"==typeof M,B=r.QObject,H=!B||!B.prototype||!B.prototype.findChild,K=i&&s(function(){return 7!=S(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=A(Z,e);r&&delete Z[e],P(t,e,n),r&&t!==Z&&P(Z,e,r)}:P,W=function(t){var e=N[t]=S(M.prototype);return e._k=t,e},q=U&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},G=function(t,e,n){return t===Z&&G(z,e,n),m(t),e=w(e,!0),m(n),o(N,e)?(n.enumerable?(o(t,I)&&t[I][e]&&(t[I][e]=!1),n=S(n,{enumerable:k(0,!1)})):(o(t,I)||P(t,I,k(1,{})),t[I][e]=!0),K(t,e,n)):P(t,e,n)},V=function(t,e){m(t);for(var n,r=g(e=_(e)),o=0,i=r.length;i>o;)G(t,n=r[o++],e[n]);return t},X=function(t){var e=C.call(this,t=w(t,!0));return!(this===Z&&o(N,t)&&!o(z,t))&&(!(e||!o(this,t)||!o(N,t)||o(this,I)&&this[I][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==Z||!o(N,e)||o(z,e)){var n=A(t,e);return!n||!o(N,e)||o(t,I)&&t[I][e]||(n.enumerable=!0),n}},Y=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(N,e=n[i++])||e==I||e==c||r.push(e);return r},$=function(t){for(var e,n=t===Z,r=j(n?z:_(t)),i=[],a=0;r.length>a;)!o(N,e=r[a++])||n&&!o(Z,e)||i.push(N[e]);return i};U||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===Z&&e.call(z,n),o(this,I)&&o(this[I],t)&&(this[I][t]=!1),K(this,t,k(1,n))};return i&&H&&K(Z,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),x.f=J,T.f=G,n(74).f=E.f=Y,n(105).f=X,n(113).f=$,i&&!n(81)&&u(Z,"propertyIsEnumerable",X,!0),v.f=function(t){return W(h(t))}),a(a.G+a.W+a.F*!U,{Symbol:M});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)h(Q[tt++]);for(Q=O(h.store),tt=0;Q.length>tt;)d(Q[tt++]);a(a.S+a.F*!U,"Symbol",{for:function(t){return o(L,t+="")?L[t]:L[t]=M(t)},keyFor:function(t){if(q(t))return y(L,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!U,"Object",{create:function(t,e){return void 0===e?S(t):V(S(t),e)},defineProperty:G,defineProperties:V,getOwnPropertyDescriptor:J,getOwnPropertyNames:Y,getOwnPropertySymbols:$}),F&&a(a.S+a.F*(!U||s(function(){var t=M();return"[null]"!=D([t])||"{}"!=D({a:t})||"{}"!=D(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!q(t)){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);return"function"==typeof(e=r[1])&&(n=e),!n&&b(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!q(e))return e}),r[1]=e,D.apply(F,r)}}}),M.prototype[R]||n(46)(M.prototype,R,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r,o; /** * @file Web Cryptography API shim * @author Artem S Vybornov @@ -98,5 +98,5 @@ var $=["absolutedeviceorientation","afterinput","afterprint","appinstalled","bef * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */Zone.__load_patch("util",function(t,e,n){n.patchOnProperties=b,n.patchMethod=w,n.patchArguments=s}),Zone.__load_patch("timers",function(t,e,n){U(t,"set","clear","Timeout"),U(t,"set","clear","Interval"),U(t,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(t,e,n){U(t,"request","cancel","AnimationFrame"),U(t,"mozRequest","mozCancel","AnimationFrame"),U(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(t,e,n){for(var r=["alert","prompt","confirm"],o=0;o 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};","module.exports = false;","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;","module.exports = {};","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","exports.f = {}.propertyIsEnumerable;","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};","exports.f = Object.getOwnPropertySymbols;","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","module.exports = require('./_global').document && document.documentElement;","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","exports.f = require('./_wks');","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');","require('./_set-species')('Array');","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var FUNCTION = 'function';\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n if (global['Zone']) {\n throw new Error('Zone already loaded.');\n }\n var Zone = (function () {\n function Zone(parent, zoneSpec) {\n this._properties = null;\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n throw Error('Already loaded patch: ' + name);\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== FUNCTION) {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = undefined; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n // we have to define an variable here, if not\n // typescript compiler will complain below\n var isNotScheduled = task.state === notScheduled;\n if (isNotScheduled && task.type === eventTask) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = null;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this\n .name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, null));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) {\n return delegate.hasTask(target, hasTaskState);\n },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) {\n return delegate.cancelTask(target, task);\n }\n };\n var ZoneDelegate = (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt =\n zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n return this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n if (type === eventTask && options && options.isUsingGlobalCallback) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.apply(global, [self, this, arguments]);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ?\n ' or \\'' + fromState2 + '\\'' :\n '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId;\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n nativeMicroTaskQueuePromise[symbolThen](drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n var showError = !Zone[__symbol__('ignoreConsoleErrorUncaughtError')];\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n patchArguments: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === FUNCTION) {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.apply(this, [e]);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var OBJECT = 'object';\n var FUNCTION = 'function';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === OBJECT || typeof value === FUNCTION) {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === FUNCTION) {\n try {\n then.apply(value, [\n onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false))\n ]);\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n Object.defineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === FUNCTION) {\n handler.apply(this, [{ rejection: promise[symbolValue], promise: promise }]);\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var delegate = promise[symbolState] ?\n (typeof onFulfilled === FUNCTION) ? onFulfilled : forwardResolution :\n (typeof onRejected === FUNCTION) ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n resolvePromise(chainPromise, true, zone.run(delegate, undefined, [promise[symbolValue]]));\n }\n catch (error) {\n resolvePromise(chainPromise, false, error);\n }\n });\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n var e_1, _a;\n };\n ZoneAwarePromise.all = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n var count = 0;\n var resolvedValues = [];\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then((function (index) { return function (value) {\n resolvedValues[index] = value;\n count--;\n if (!count) {\n resolve(resolvedValues);\n }\n }; })(count), reject);\n count++;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (!count)\n resolve(resolvedValues);\n return promise;\n var e_2, _a;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = Object.getOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n Object.defineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n // check Ctor.prototype.then propertyDescritor is writable or not\n // in meteor env, writable is false, we have to make it to be true.\n var prop = Object.getOwnPropertyDescriptor(Ctor.prototype, 'then');\n if (prop && prop.writable === false && prop.configurable) {\n Object.defineProperty(Ctor.prototype, 'then', { writable: true });\n }\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == FUNCTION) {\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\nvar zoneSymbol = Zone.__symbol__;\nvar _global = typeof window === 'object' && window || typeof self === 'object' && self || global;\nvar FUNCTION = 'function';\nvar UNDEFINED = 'undefined';\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === FUNCTION) {\n args[i] = Zone.current.wrap(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction wrapFunctionArgs(func, source) {\n return function () {\n var args = Array.prototype.slice.call(arguments);\n var wrappedArgs = bindArguments(args, source ? source : func.name);\n return func.apply(this, wrappedArgs);\n };\n}\nfunction patchArguments(target, name, source) {\n return patchMethod(target, name, function (delegate, delegateName, name) { return function (self, args) {\n return delegate && delegate.apply(self, bindArguments(args, source));\n }; });\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = Object.getOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n if (typeof propertyDesc.get === FUNCTION && typeof propertyDesc.set === UNDEFINED) {\n return false;\n }\n return true;\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidently browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidently browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(typeof window !== 'undefined' && window['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = Object.getOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = Object.getOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.apply(this);\n if (value) {\n desc.set.apply(this, [value]);\n if (typeof target[REMOVE_ATTRIBUTE] === FUNCTION) {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n Object.defineProperty(obj, prop, desc);\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n Object.defineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = Object.getPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && Object.getOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.callbackIndex] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.callbackIndex >= 0 && typeof args[meta.callbackIndex] === 'function') {\n var task = Zone.current.scheduleMacroTask(meta.name, args[meta.callbackIndex], meta, scheduleTask, null);\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global, Zone, api) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Zone['__zone_symbol__originalToString'] =\n Function.prototype.toString;\n var FUNCTION = 'function';\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n Function.prototype.toString = function () {\n if (typeof this === FUNCTION) {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === FUNCTION) {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar TRUE_STR = 'true';\nvar FALSE_STR = 'false';\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n isUsingGlobalCallback: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar CONSTRUCTOR_NAME = 'name';\nvar FUNCTION_TYPE = 'function';\nvar OBJECT_TYPE = 'object';\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.addEventListenerFnName) || 'addEventListener';\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.removeEventListenerFnName) || 'removeEventListener';\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listenersFnName) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.removeAllFnName) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === OBJECT_TYPE && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].apply(target, [event.type, delegate_1, options]);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samusung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samusung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useGlobalCallback !== undefined) {\n useGlobalCallback = patchOptions.useGlobalCallback;\n }\n var validateHandler = patchOptions && patchOptions.validateHandler;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.checkDuplicate !== undefined) {\n checkDuplicate = patchOptions.checkDuplicate;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.returnTarget !== undefined) {\n returnTarget = patchOptions.returnTarget;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = Object.getPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prependEventListenerFnName) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prependEventListenerFnName)] =\n proto[patchOptions.prependEventListenerFnName];\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.apply(taskData.target, [\n taskData.eventName,\n taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback,\n taskData.options\n ]);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.apply(task.target, [\n task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback,\n task.options\n ]);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.apply(taskData.target, [taskData.eventName, task.invoke, taskData.options]);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.apply(taskData.target, [taskData.eventName, task.invoke, taskData.options]);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.apply(task.target, [task.eventName, task.invoke, task.options]);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n if ((typeOfDelegate === FUNCTION_TYPE && task.callback === delegate) ||\n (typeOfDelegate === OBJECT_TYPE && task.originalDelegate === delegate)) {\n // same callback, same capture, same event name, just return\n return true;\n }\n return false;\n };\n var compare = (patchOptions && patchOptions.compareTaskCallbackVsDelegate) ?\n patchOptions.compareTaskCallbackVsDelegate :\n compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var targetZone = Zone.current;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== FUNCTION_TYPE) {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var eventName = arguments[0];\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor[CONSTRUCTOR_NAME];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource + eventName;\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : null;\n // keep taskData into data to allow onScheduleEventTask to acess the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n task.options = options;\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n var typeOfDelegate = typeof delegate;\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].apply(this, [evtName]);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].apply(this, ['removeListener']);\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].apply(this, [eventName, delegate, task.options]);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].apply(this, [eventName, delegate, task.options]);\n }\n }\n }\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n var NUMBER = 'number';\n var STRING = 'string';\n var FUNCTION = 'function';\n var INTERVAL = 'Interval';\n var TIMEOUT = 'Timeout';\n var NOT_SCHEDULED = 'notScheduled';\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n if (task.data && task.data.isPeriodic) {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n return;\n }\n if (typeof data.handleId === NUMBER) {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === FUNCTION) {\n var zone = Zone.current;\n var options = {\n handleId: null,\n isPeriodic: nameSuffix === INTERVAL,\n delay: (nameSuffix === TIMEOUT || nameSuffix === INTERVAL) ? args[1] || 0 : null,\n args: args\n };\n var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === NUMBER) {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === FUNCTION &&\n typeof handle.unref === FUNCTION) {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === NUMBER || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === NUMBER) {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === STRING) {\n if (task.state !== NOT_SCHEDULED &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === NUMBER) {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nvar PROTOTYPE = 'prototype';\nvar OBJECT = 'object';\nvar UNDEFINED$1 = 'undefined';\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== PROTOTYPE) {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === OBJECT && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == UNDEFINED$1) {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (a, b) {\n var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = Object.create(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = Array.prototype.slice.call(arguments);\n if (propName === 'addEventListener' || propName === 'removeEventListener') {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global.__Zone_ignore_on_properties;\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(window, eventNames.concat(['messageerror']), ignoreProperties, Object.getPrototypeOf(window));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof window['SVGElement'] !== 'undefined') {\n patchFilteredProperties(window['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = window['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = window['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var xhrDesc = Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype, 'onreadystatechange');\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fakeonreadystatechange');\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = Zone.current.wrap(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n patchEventTarget(_global, apiTypes, { validateHandler: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var _registerElement = document.registerElement;\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n document.registerElement = function (name, opts) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = 'Document.registerElement::' + callback;\n if (opts.prototype.hasOwnProperty(callback)) {\n var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = Zone.current.wrap(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n }\n else if (opts.prototype[callback]) {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n });\n }\n return _registerElement.apply(document, [name, opts]);\n };\n attachOriginToPatched(document.registerElement, _registerElement);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.patchArguments = patchArguments;\n});\nZone.__load_patch('timers', function (global, Zone, api) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global, Zone, api) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone, api) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n registerElementPatch(global);\n});\nZone.__load_patch('canvas', function (global, Zone, api) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, callbackIndex: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone, api) {\n // Treat XMLHTTPRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n function patchXHR(window) {\n function findPendingTask(target) {\n var pendingTask = target[XHR_TASK];\n return pendingTask;\n }\n var SYMBOL_ADDEVENTLISTENER = zoneSymbol('addEventListener');\n var SYMBOL_REMOVEEVENTLISTENER = zoneSymbol('removeEventListener');\n var oriAddListener = XMLHttpRequest.prototype[SYMBOL_ADDEVENTLISTENER];\n var oriRemoveListener = XMLHttpRequest.prototype[SYMBOL_REMOVEEVENTLISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n oriAddListener = XMLHttpRequestEventTarget.prototype[SYMBOL_ADDEVENTLISTENER];\n oriRemoveListener = XMLHttpRequestEventTarget.prototype[SYMBOL_REMOVEEVENTLISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n XMLHttpRequest[XHR_SCHEDULED] = false;\n var data = task.data;\n var target = data.target;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[SYMBOL_ADDEVENTLISTENER];\n oriRemoveListener = target[SYMBOL_REMOVEEVENTLISTENER];\n }\n if (listener) {\n oriRemoveListener.apply(target, [READY_STATE_CHANGE, listener]);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && XMLHttpRequest[XHR_SCHEDULED] && task.state === SCHEDULED) {\n task.invoke();\n }\n }\n };\n oriAddListener.apply(target, [READY_STATE_CHANGE, newListener]);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n XMLHttpRequest[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) {\n var zone = Zone.current;\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = {\n target: self,\n url: self[XHR_URL],\n isPeriodic: false,\n delay: null,\n args: args,\n aborted: false\n };\n return zone.scheduleMacroTask(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n }\n }; });\n var STRING_TYPE = 'string';\n var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == STRING_TYPE) {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global, Zone, api) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('getUserMedia', function (global, Zone, api) {\n var navigator = global['navigator'];\n if (navigator && navigator.getUserMedia) {\n navigator.getUserMedia = wrapFunctionArgs(navigator.getUserMedia);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone, api) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');","/* tslint:disable */\r\nimport 'core-js/es6';\r\nimport 'core-js/es7/reflect';\r\nrequire('zone.js/dist/zone');\r\n\r\nif (process.env.ENV === 'production') {\r\n // Production\r\n} else {\r\n // Development and test\r\n Error['stackTraceLimit'] = Infinity;\r\n require('zone.js/dist/long-stack-trace-zone');\r\n}\r\n\r\n// Other polyfills\r\nrequire('whatwg-fetch');\r\nrequire('webcrypto-shim');\r\n/* tslint:enable */\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/polyfills.ac1ccba05eeb1d48cd3e.js.map b/app/polyfills.ac1ccba05eeb1d48cd3e.js.map deleted file mode 100644 index b60956c0..00000000 --- a/app/polyfills.ac1ccba05eeb1d48cd3e.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/_keyof.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/webcrypto-shim/webcrypto-shim.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/core-js/es6/index.js","webpack:///./src/app/polyfills.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","exec","e","window","Math","self","__g","store","uid","USE_SYMBOL","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","toInteger","min","defined","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","length","IObject","has","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","this","createDesc","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","method","arg","pIE","toIObject","gOPD","getOwnPropertyDescriptor","version","__e","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","that","res","index","result","push","KEY","fn","toString","slice","aFunction","b","apply","arguments","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","set","keyMetadata","map","MetadataKey","metadataMap","MetadataValue","keys","forEach","_","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","same","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","strictToLength","SAME","number","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","indexOf","searchElement","includes","separator","reverse","middle","floor","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","wrapper","CLAMPED","ISNT_UINT8","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","from","of","valueOf","bitmap","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","ceil","isNaN","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","$keys","hiddenKeys","getOwnPropertyNames","max","px","random","Constructor","forbiddenField","DESCRIPTORS","SPECIES","BREAK","RETURN","iterable","def","stat","UNSCOPABLES","cof","ARG","T","tryGet","callee","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","propertyIsEnumerable","g","eval","Typed","TypedArrayConstructors","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","SYMBOL","fns","strfn","rxfn","SAFE_CLOSING","riter","skipClosing","arr","getIteratorMethod","getOwnPropertySymbols","ignoreCase","multiline","unicode","sticky","MATCH","isRegExp","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","IS_INCLUDES","el","fromIndex","Infinity","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","numIndex","intIndex","_b","pack","conversion","validateArrayBufferArguments","numberLength","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","D","endPos","re","searchString","descriptor","$expm1","expm1","x","sign","setPrototypeOf","args","un","check","buggy","__proto__","documentElement","isArray","is","createElement","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","counter","queue","run","listener","event","nextTick","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","addToUnscopables","iterated","_t","_i","_k","Arguments","$defineProperty","TO_STRING","pos","charCodeAt","charAt","count","str","getKeys","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","Reflect","ownKeys","$has","uncaughtFrozenStore","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","delete","splice","ufstore","InternalMap","each","weak","tmp","$WeakMap","freeze","_f","strong","add","$iterDefine","SIZE","getEntry","prev","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","toggle","node","createTextNode","observe","characterData","resolve","promise","then","task","flags","to","inc","memo","isRight","ret","log1p","isFinite","msg","$parseFloat","parseFloat","$trim","$parseInt","parseInt","ws","hex","radix","factories","partArgs","bound","construct","y","windowNames","getWindowNames","defineProperties","names","wksExt","$Symbol","metadata","toMetaKey","ordinaryDefineOwnMetadata","metadataKey","metadataValue","ordinaryHasOwnMetadata","hasOwnMetadata","ordinaryHasMetadata","hasMetadata","ordinaryOwnMetadataKeys","getOwnMetadataKeys","ordinaryGetOwnMetadata","getOwnMetadata","Set","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","ordinaryGetMetadata","getMetadata","deleteMetadata","size","defineMetadata","setProto","propertyKey","V","existingDescriptor","receiver","ownDesc","$preventExtensions","$isExtensible","getProto","Enumerate","enumerate","deleteProperty","attributes","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","rApply","fApply","thisArgument","argumentsList","L","init","$isView","isView","first","final","viewS","viewT","Internal","GenericPromiseCapability","Wrapper","microtask","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","sameConstructor","isThenable","newPromiseCapability","PromiseCapability","reject","$$resolve","$$reject","perform","error","isReject","_n","chain","_c","_v","ok","_s","reaction","handler","fail","_h","onHandleUnhandled","onUnhandled","abrupt","console","isUnhandled","emit","onunhandledrejection","reason","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","SPLIT","$split","_split","$push","NPCG","limit","separator2","match","lastIndex","lastLength","output","lastLastIndex","splitLimit","separatorCopy","SEARCH","$search","regexp","REPLACE","$replace","searchValue","replaceValue","$match","$flags","define","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","proxy","$find","forced","NEGATIVE_ZERO","$indexOf","$reduce","$every","$some","$filter","original","$forEach","STRICT","$sort","upTo","cloned","createProperty","hint","TO_PRIMITIVE","Date","DateProto","getTime","lz","num","toISOString","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","toJSON","pv","now","url","color","context","$startsWith","startsWith","search","repeat","$endsWith","endsWith","endPosition","$at","codePointAt","point","raw","callSite","tpl","fromCharCode","$fromCodePoint","fromCodePoint","code","trunc","tanh","sinh","E","log2","log10","LN10","$imul","imul","xn","yn","xl","yl","hypot","value1","value2","div","sum","larg","sqrt","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","cosh","clz32","LOG2E","cbrt","$atanh","atanh","$asinh","asinh","$acosh","acosh","Number","MAX_VALUE","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","isInteger","isSafeInteger","_isFinite","$fails","aNumberValue","$toPrecision","toPrecision","precision","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","digits","HAS_INSTANCE","FunctionProto","FProto","nameRE","$isSealed","$isFrozen","$seal","$freeze","$getPrototypeOf","$getOwnPropertyDescriptor","symbols","wksDefine","keyOf","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","for","keyFor","useSetter","useSimple","replacer","$replacer","__WEBPACK_AMD_DEFINE_RESULT__","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","navigator","userAgent","isIE","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","_fn","ka","kx","ku","op","jwk","alg","b2jwk","jwkAlg","key_ops","kty","isPrvKeyUse","isPubKeyUse","ext","s2b","unescape","encodeURIComponent","_key","hash","SHA-1","SHA-256","SHA-384","SHA-512","importKey","getRandomValues","modulusLength","generateKey","exportKey","publicKey","privateKey","a2s","info","b2der","prv","shift","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","rej","onabort","onerror","oncomplete","algorithm","publicExponent","encrypt","usages","unshift","der2b","jwk2pkcs","Error","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","digest","btoa","atob","toUpperCase","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","parse","decodeURIComponent","escape","extractable","buf","rv","xlen","oid","use","u","factory","fetch","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isDataView","obj","isPrototypeOf","isArrayBufferView","Headers","append","normalizeName","normalizeValue","oldValue","callback","thisArg","items","iteratorFor","Request","clone","body","_bodyInit","Body","Response","status","statusText","headers","response","redirectStatuses","redirect","location","input","request","xhr","XMLHttpRequest","onload","rawHeaders","options","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","credentials","withCredentials","responseType","setRequestHeader","send","polyfill","header","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","_initBody","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","upcased","referrer","form","bodyInit","performance","mark","performanceMeasure","label","Zone","zoneSpec","_properties","_parent","_name","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","zone","current","_currentZoneFrame","_currentTask","__load_patch","perfName","_api","getZoneWith","fork","_callback","intercept","runGuarded","applyThis","applyArgs","handleError","runTask","NO_ZONE","state","notScheduled","eventTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","macroTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","__symbol__","nativeMicroTaskQueuePromise","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","_state","isUsingGlobalCallback","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","patchArguments","setNativePromise","NativePromise","__values","api","_uncaughtPromiseErrors","creationTrace","rejection","message","stack","_loop_1","uncaughtPromiseError","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","once","wasCalled","wrappedFunction","TYPE_ERROR","OBJECT","FUNCTION","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","className","readableObjectToString","error_1","REJECTION_HANDLED_HANDLER","chainPromise","e_1","onResolve","onReject","values_1","values_1_1","e_1_1","return","e_2","resolvedValues","values_2","values_2_1","e_2_1","ZONE_AWARE_PROMISE","NewNativePromise","patchThen","symbolThenPatched","Ctor","originalThen","prop","_this","fetch_1","resultPromise","ctor","zoneSymbol","_global","UNDEFINED","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","bindArguments","delegateName","isPropertyWritable","isWebWorker","WorkerGlobalScope","isBrowser","isMix","zoneSymbolEventNames","wrapFn","eventNameSymbol","preventDefault","patchProperty","originalDescGet","originalDescSet","eventName","substr","newValue","removeEventListener","removeAttribute","onProperties","originalInstanceKey","patchClass","OriginalClass","attachOriginToPatched","patchFn","patchDelegate_1","patchMacroTask","funcName","metaCreator","setNative","callbackIndex","patched","isDetectedIEOrEdge","ieOrEdge","isIEOrEdge","ua","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","originalDelegate","nativePromise","nativeError","originalObjectToString","TRUE_STR","FALSE_STR","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","CONSTRUCTOR_NAME","FUNCTION_TYPE","OBJECT_TYPE","ZONE_SYMBOL_PREFIX","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","apis","patchOptions","ADD_EVENT_LISTENER","addEventListenerFnName","REMOVE_EVENT_LISTENER","removeEventListenerFnName","LISTENERS_EVENT_LISTENER","listenersFnName","REMOVE_ALL_LISTENERS_EVENT_LISTENER","removeAllFnName","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","checkDuplicate","returnTarget","nativePrependEventListener","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","prependEventListenerFnName","isExisting","capture","symbolEventNames","symbolEventName","existingTasks","allRemoved","compare","compareTaskCallbackVsDelegate","typeOfDelegate","blackListedEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","prepend","isHandleEvent","symbolCapture","constructorName","targetSource","existingTask","listeners","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","evtName","results","foundTasks","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","NUMBER","delay","handle","ref","unref","_defineProperty","_getOwnPropertyDescriptor","unconfigurablesKey","PROTOTYPE","UNDEFINED$1","isUnconfigurable","rewriteDescriptor","isFrozen","_tryDefineProperty","originalConfigurableFlag","descJson","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","patchFilteredProperties","ignoreProperties","tip","ip","targetIgnoreProperties","filterProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","HTMLElement","Element","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","__Zone_ignore_on_properties","Document","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","onproperty","elt","unboundKey","parentElement","patchViaCapturingAllTheEvents","WS","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","patchEvent","Event","patchEventPrototype","registerElementPatch","_registerElement","registerElement","callbacks","opts","blockingMethods","SYMBOL_BLACK_LISTED_EVENTS","WTF_ISSUE_555","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","targets","apiTypes","nativeDelegate","testString","eventTargetPatch","props","HTMLCanvasElement","toBlob","SYMBOL_ADDEVENTLISTENER","SYMBOL_REMOVEEVENTLISTENER","oriAddListener","oriRemoveListener","READY_STATE_CHANGE","SCHEDULED","XHR_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","aborted","storedTask","XHR_TASK","sendNative","placeholderCallback","abortNative","openNative","XHR_SYNC","XHR_URL","patchXHR","geolocation","fnNames","name_1","patchPrototype","func","getUserMedia","wrappedArgs","findPromiseRejectionHandler","evt"],"mappings":"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,OACA,iBACA,UACA,QACA,QACA,QACA,UACA,WACA,oBACA,QACA,UACA,UACA,WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAoHA3oC,QAbA,wEACA,qCACA,WAtGA,iFACA,sFACA,oFACA,oBA8GAkoC,GA3EA,kFACA,iFACA,0EAIA,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,gBACA,iBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,aACA,gCACA,mBACA,OACA,kBA2BA,SAAAU,GAAAt5C,EAAAmxC,EAAAoI,EAAAh7C,GAEAitC,EAAAxrC,EAbA,SAAAA,EAAAmxC,EAAAoI,GACA,IAAAA,EACA,OAAApI,EAEA,IAAAqI,EAAAD,EAAAnsC,OAAA,SAAAqsC,GAAqD,OAAAA,EAAAz5C,aACrD,IAAAw5C,GAAA,IAAAA,EAAA72C,OACA,OAAAwuC,EAEA,IAAAuI,EAAAF,EAAA,GAAAD,iBACA,OAAApI,EAAA/jC,OAAA,SAAA+rB,GAA8C,WAAAugB,EAAAlsC,QAAA2rB,KAG9CwgB,CAAA35C,EAAAmxC,EAAAoI,GACAh7C,GAEA,SAAAq7C,GAAA9N,EAAA8D,GACA,IAAA/tB,GAAAyuB,EAAA,CAGA,IAAAuJ,EAAA,oBAAAC,UACA,GAqDA,WACA,IAAAzJ,GAAAC,KAAA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,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAG,EAAAD,QAAAF,EAAA,mFCxIAA,EAAA,KACAA,EAAA,KACAA,EAAQ,KAWRA,EAAQ,KACRA,EAAQ","file":"app/polyfills.ac1ccba05eeb1d48cd3e.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 943);\n","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};","module.exports = false;","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;","module.exports = {};","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","exports.f = {}.propertyIsEnumerable;","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};","exports.f = Object.getOwnPropertySymbols;","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","module.exports = require('./_global').document && document.documentElement;","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","exports.f = require('./_wks');","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');","require('./_set-species')('Array');","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var FUNCTION = 'function';\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n if (global['Zone']) {\n throw new Error('Zone already loaded.');\n }\n var Zone = (function () {\n function Zone(parent, zoneSpec) {\n this._properties = null;\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n throw Error('Already loaded patch: ' + name);\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== FUNCTION) {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = undefined; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n // we have to define an variable here, if not\n // typescript compiler will complain below\n var isNotScheduled = task.state === notScheduled;\n if (isNotScheduled && task.type === eventTask) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = null;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this\n .name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, null));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) {\n return delegate.hasTask(target, hasTaskState);\n },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) {\n return delegate.cancelTask(target, task);\n }\n };\n var ZoneDelegate = (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt =\n zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n return this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n if (type === eventTask && options && options.isUsingGlobalCallback) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.apply(global, [self, this, arguments]);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ?\n ' or \\'' + fromState2 + '\\'' :\n '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId;\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n nativeMicroTaskQueuePromise[symbolThen](drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n var showError = !Zone[__symbol__('ignoreConsoleErrorUncaughtError')];\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n patchArguments: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === FUNCTION) {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.apply(this, [e]);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var OBJECT = 'object';\n var FUNCTION = 'function';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === OBJECT || typeof value === FUNCTION) {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === FUNCTION) {\n try {\n then.apply(value, [\n onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false))\n ]);\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n Object.defineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === FUNCTION) {\n handler.apply(this, [{ rejection: promise[symbolValue], promise: promise }]);\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var delegate = promise[symbolState] ?\n (typeof onFulfilled === FUNCTION) ? onFulfilled : forwardResolution :\n (typeof onRejected === FUNCTION) ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n resolvePromise(chainPromise, true, zone.run(delegate, undefined, [promise[symbolValue]]));\n }\n catch (error) {\n resolvePromise(chainPromise, false, error);\n }\n });\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n var e_1, _a;\n };\n ZoneAwarePromise.all = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n var count = 0;\n var resolvedValues = [];\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then((function (index) { return function (value) {\n resolvedValues[index] = value;\n count--;\n if (!count) {\n resolve(resolvedValues);\n }\n }; })(count), reject);\n count++;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (!count)\n resolve(resolvedValues);\n return promise;\n var e_2, _a;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = Object.getOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n Object.defineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n // check Ctor.prototype.then propertyDescritor is writable or not\n // in meteor env, writable is false, we have to make it to be true.\n var prop = Object.getOwnPropertyDescriptor(Ctor.prototype, 'then');\n if (prop && prop.writable === false && prop.configurable) {\n Object.defineProperty(Ctor.prototype, 'then', { writable: true });\n }\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == FUNCTION) {\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\nvar zoneSymbol = Zone.__symbol__;\nvar _global = typeof window === 'object' && window || typeof self === 'object' && self || global;\nvar FUNCTION = 'function';\nvar UNDEFINED = 'undefined';\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === FUNCTION) {\n args[i] = Zone.current.wrap(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction wrapFunctionArgs(func, source) {\n return function () {\n var args = Array.prototype.slice.call(arguments);\n var wrappedArgs = bindArguments(args, source ? source : func.name);\n return func.apply(this, wrappedArgs);\n };\n}\nfunction patchArguments(target, name, source) {\n return patchMethod(target, name, function (delegate, delegateName, name) { return function (self, args) {\n return delegate && delegate.apply(self, bindArguments(args, source));\n }; });\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = Object.getOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n if (typeof propertyDesc.get === FUNCTION && typeof propertyDesc.set === UNDEFINED) {\n return false;\n }\n return true;\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidently browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidently browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(typeof window !== 'undefined' && window['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = Object.getOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = Object.getOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.apply(this);\n if (value) {\n desc.set.apply(this, [value]);\n if (typeof target[REMOVE_ATTRIBUTE] === FUNCTION) {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n Object.defineProperty(obj, prop, desc);\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n Object.defineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = Object.getPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && Object.getOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.callbackIndex] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.callbackIndex >= 0 && typeof args[meta.callbackIndex] === 'function') {\n var task = Zone.current.scheduleMacroTask(meta.name, args[meta.callbackIndex], meta, scheduleTask, null);\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global, Zone, api) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Zone['__zone_symbol__originalToString'] =\n Function.prototype.toString;\n var FUNCTION = 'function';\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n Function.prototype.toString = function () {\n if (typeof this === FUNCTION) {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === FUNCTION) {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar TRUE_STR = 'true';\nvar FALSE_STR = 'false';\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n isUsingGlobalCallback: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar CONSTRUCTOR_NAME = 'name';\nvar FUNCTION_TYPE = 'function';\nvar OBJECT_TYPE = 'object';\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.addEventListenerFnName) || 'addEventListener';\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.removeEventListenerFnName) || 'removeEventListener';\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listenersFnName) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.removeAllFnName) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === OBJECT_TYPE && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].apply(target, [event.type, delegate_1, options]);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samusung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samusung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useGlobalCallback !== undefined) {\n useGlobalCallback = patchOptions.useGlobalCallback;\n }\n var validateHandler = patchOptions && patchOptions.validateHandler;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.checkDuplicate !== undefined) {\n checkDuplicate = patchOptions.checkDuplicate;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.returnTarget !== undefined) {\n returnTarget = patchOptions.returnTarget;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = Object.getPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prependEventListenerFnName) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prependEventListenerFnName)] =\n proto[patchOptions.prependEventListenerFnName];\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.apply(taskData.target, [\n taskData.eventName,\n taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback,\n taskData.options\n ]);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.apply(task.target, [\n task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback,\n task.options\n ]);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.apply(taskData.target, [taskData.eventName, task.invoke, taskData.options]);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.apply(taskData.target, [taskData.eventName, task.invoke, taskData.options]);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.apply(task.target, [task.eventName, task.invoke, task.options]);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n if ((typeOfDelegate === FUNCTION_TYPE && task.callback === delegate) ||\n (typeOfDelegate === OBJECT_TYPE && task.originalDelegate === delegate)) {\n // same callback, same capture, same event name, just return\n return true;\n }\n return false;\n };\n var compare = (patchOptions && patchOptions.compareTaskCallbackVsDelegate) ?\n patchOptions.compareTaskCallbackVsDelegate :\n compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var targetZone = Zone.current;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== FUNCTION_TYPE) {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var eventName = arguments[0];\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor[CONSTRUCTOR_NAME];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource + eventName;\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : null;\n // keep taskData into data to allow onScheduleEventTask to acess the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n task.options = options;\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n var typeOfDelegate = typeof delegate;\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].apply(this, [evtName]);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].apply(this, ['removeListener']);\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].apply(this, [eventName, delegate, task.options]);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].apply(this, [eventName, delegate, task.options]);\n }\n }\n }\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n var NUMBER = 'number';\n var STRING = 'string';\n var FUNCTION = 'function';\n var INTERVAL = 'Interval';\n var TIMEOUT = 'Timeout';\n var NOT_SCHEDULED = 'notScheduled';\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n if (task.data && task.data.isPeriodic) {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n return;\n }\n if (typeof data.handleId === NUMBER) {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === FUNCTION) {\n var zone = Zone.current;\n var options = {\n handleId: null,\n isPeriodic: nameSuffix === INTERVAL,\n delay: (nameSuffix === TIMEOUT || nameSuffix === INTERVAL) ? args[1] || 0 : null,\n args: args\n };\n var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === NUMBER) {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === FUNCTION &&\n typeof handle.unref === FUNCTION) {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === NUMBER || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === NUMBER) {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === STRING) {\n if (task.state !== NOT_SCHEDULED &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === NUMBER) {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nvar PROTOTYPE = 'prototype';\nvar OBJECT = 'object';\nvar UNDEFINED$1 = 'undefined';\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== PROTOTYPE) {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === OBJECT && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == UNDEFINED$1) {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (a, b) {\n var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = Object.create(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = Array.prototype.slice.call(arguments);\n if (propName === 'addEventListener' || propName === 'removeEventListener') {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global.__Zone_ignore_on_properties;\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(window, eventNames.concat(['messageerror']), ignoreProperties, Object.getPrototypeOf(window));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof window['SVGElement'] !== 'undefined') {\n patchFilteredProperties(window['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = window['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = window['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var xhrDesc = Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype, 'onreadystatechange');\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fakeonreadystatechange');\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = Zone.current.wrap(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n patchEventTarget(_global, apiTypes, { validateHandler: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var _registerElement = document.registerElement;\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n document.registerElement = function (name, opts) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = 'Document.registerElement::' + callback;\n if (opts.prototype.hasOwnProperty(callback)) {\n var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = Zone.current.wrap(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n }\n else if (opts.prototype[callback]) {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n });\n }\n return _registerElement.apply(document, [name, opts]);\n };\n attachOriginToPatched(document.registerElement, _registerElement);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.patchArguments = patchArguments;\n});\nZone.__load_patch('timers', function (global, Zone, api) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global, Zone, api) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone, api) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n registerElementPatch(global);\n});\nZone.__load_patch('canvas', function (global, Zone, api) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, callbackIndex: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone, api) {\n // Treat XMLHTTPRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n function patchXHR(window) {\n function findPendingTask(target) {\n var pendingTask = target[XHR_TASK];\n return pendingTask;\n }\n var SYMBOL_ADDEVENTLISTENER = zoneSymbol('addEventListener');\n var SYMBOL_REMOVEEVENTLISTENER = zoneSymbol('removeEventListener');\n var oriAddListener = XMLHttpRequest.prototype[SYMBOL_ADDEVENTLISTENER];\n var oriRemoveListener = XMLHttpRequest.prototype[SYMBOL_REMOVEEVENTLISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n oriAddListener = XMLHttpRequestEventTarget.prototype[SYMBOL_ADDEVENTLISTENER];\n oriRemoveListener = XMLHttpRequestEventTarget.prototype[SYMBOL_REMOVEEVENTLISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n XMLHttpRequest[XHR_SCHEDULED] = false;\n var data = task.data;\n var target = data.target;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[SYMBOL_ADDEVENTLISTENER];\n oriRemoveListener = target[SYMBOL_REMOVEEVENTLISTENER];\n }\n if (listener) {\n oriRemoveListener.apply(target, [READY_STATE_CHANGE, listener]);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && XMLHttpRequest[XHR_SCHEDULED] && task.state === SCHEDULED) {\n task.invoke();\n }\n }\n };\n oriAddListener.apply(target, [READY_STATE_CHANGE, newListener]);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n XMLHttpRequest[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) {\n var zone = Zone.current;\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = {\n target: self,\n url: self[XHR_URL],\n isPeriodic: false,\n delay: null,\n args: args,\n aborted: false\n };\n return zone.scheduleMacroTask(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n }\n }; });\n var STRING_TYPE = 'string';\n var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == STRING_TYPE) {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global, Zone, api) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('getUserMedia', function (global, Zone, api) {\n var navigator = global['navigator'];\n if (navigator && navigator.getUserMedia) {\n navigator.getUserMedia = wrapFunctionArgs(navigator.getUserMedia);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone, api) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');","/* tslint:disable */\r\nimport 'core-js/es6';\r\nimport 'core-js/es7/reflect';\r\nrequire('zone.js/dist/zone');\r\n\r\nif (process.env.ENV === 'production') {\r\n // Production\r\n} else {\r\n // Development and test\r\n Error['stackTraceLimit'] = Infinity;\r\n require('zone.js/dist/long-stack-trace-zone');\r\n}\r\n\r\n// Other polyfills\r\nrequire('whatwg-fetch');\r\nrequire('webcrypto-shim');\r\n/* tslint:enable */\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/vendor.6cd71d630010c1561476.js.map b/app/vendor.6cd71d630010c1561476.js.map deleted file mode 100644 index c5cca35a..00000000 --- a/app/vendor.6cd71d630010c1561476.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/@angular/core/esm5/core.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/angulartics2/bundles/core.umd.js","webpack:///./node_modules/@angular/common/esm5/common.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/angular2-toaster/src/toaster.service.js","webpack:///./node_modules/@angular/router/esm5/router.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/@angular/forms/esm5/forms.js","webpack:///./node_modules/@angular/animations/esm5/animations.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/node-forge/lib/forge.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/rxjs/observable/of.js","webpack:///./node_modules/node-forge/lib/util.js","webpack:///./node_modules/rxjs/operator/map.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/@angular/platform-browser/esm5/platform-browser.js","webpack:///./node_modules/rxjs/Observable.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/rxjs/Subscriber.js","webpack:///./node_modules/@angular/animations/esm5/browser.js","webpack:///./node_modules/rxjs/operator/mergeMap.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/rxjs/BehaviorSubject.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/rxjs/observable/from.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/rxjs/Subject.js","webpack:///./node_modules/node-forge/lib/random.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/node-forge/lib/md.js","webpack:///./node_modules/node-forge/lib/asn1.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/rxjs/util/root.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/node-forge/lib/oids.js","webpack:///./node_modules/node-forge/lib/aes.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/angular2-toaster/src/toaster-container.component.js","webpack:///./node_modules/angular2-toaster/src/toast.component.js","webpack:///./node_modules/node-forge/lib/pem.js","webpack:///./node_modules/rxjs/Subscription.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/angular2-toaster/src/bodyOutputType.js","webpack:///./node_modules/rxjs/observable/fromPromise.js","webpack:///./node_modules/rxjs/operator/catch.js","webpack:///./node_modules/node-forge/lib/sha1.js","webpack:///./node_modules/node-forge/lib/hmac.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/rxjs/operator/every.js","webpack:///./node_modules/rxjs/operator/first.js","webpack:///./node_modules/rxjs/operator/concatMap.js","webpack:///./node_modules/node-forge/lib/rsa.js","webpack:///./node_modules/node-forge/lib/des.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/modules/_object-forced-pam.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/rxjs/observable/EmptyObservable.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/_keyof.js","webpack:///./node_modules/rxjs/util/EmptyError.js","webpack:///./node_modules/angular2-toaster/src/toaster-config.js","webpack:///./node_modules/node-forge/lib/pss.js","webpack:///./node_modules/node-forge/lib/x509.js","webpack:///./node_modules/node-forge/lib/jsbn.js","webpack:///./node_modules/node-forge/lib/pbkdf2.js","webpack:///./node_modules/node-forge/lib/md5.js","webpack:///./node_modules/node-forge/lib/cipher.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/angulartics2/ga/ga.es5.js","webpack:///./node_modules/angular2-toaster/src/toaster.module.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/core-js/modules/_replacer.js","webpack:///./node_modules/core-js/modules/_partial.js","webpack:///./node_modules/rxjs/util/ObjectUnsubscribedError.js","webpack:///./node_modules/rxjs/OuterSubscriber.js","webpack:///./node_modules/rxjs/symbol/iterator.js","webpack:///./node_modules/rxjs/util/subscribeToResult.js","webpack:///./node_modules/rxjs/operators/mergeMap.js","webpack:///./node_modules/rxjs/operators/mergeAll.js","webpack:///./node_modules/rxjs/observable/ArrayObservable.js","webpack:///./node_modules/rxjs/symbol/observable.js","webpack:///./node_modules/rxjs/symbol/rxSubscriber.js","webpack:///./node_modules/rxjs/util/isArray.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/rxjs/operator/share.js","webpack:///./node_modules/rxjs/operator/mergeAll.js","webpack:///./node_modules/rxjs/operator/last.js","webpack:///./node_modules/rxjs/operator/concatAll.js","webpack:///./node_modules/node-forge/lib/log.js","webpack:///./node_modules/node-forge/lib/debug.js","webpack:///./node_modules/node-forge/lib/mgf1.js","webpack:///./node_modules/node-forge/lib/pkcs7asn1.js","webpack:///./node_modules/node-forge/lib/pkcs12.js","webpack:///./node_modules/node-forge/lib/prime.js","webpack:///./node_modules/node-forge/lib/pkcs1.js","webpack:///./node_modules/node-forge/lib/rc2.js","webpack:///./node_modules/node-forge/lib/prng.js","webpack:///./node_modules/node-forge/lib/sha256.js","webpack:///./node_modules/node-forge/lib/pbe.js","webpack:///./node_modules/node-forge/lib/pki.js","webpack:///./node_modules/node-forge/lib/tls.js","webpack:///./node_modules/node-forge/lib/cipherModes.js","webpack:///./node_modules/papaparse/papaparse.js","webpack:///./node_modules/rxjs/operators/filter.js","webpack:///./node_modules/rxjs/observable/PromiseObservable.js","webpack:///./node_modules/rxjs/operators/map.js","webpack:///./node_modules/rxjs/Notification.js","webpack:///./node_modules/rxjs/operators/observeOn.js","webpack:///./node_modules/rxjs/scheduler/AsyncScheduler.js","webpack:///./node_modules/rxjs/scheduler/AsyncAction.js","webpack:///./node_modules/sweetalert/dist/sweetalert.min.js","webpack:///./node_modules/core-js/modules/_object-define.js","webpack:///./node_modules/core-js/modules/core.is-iterable.js","webpack:///./node_modules/core-js/modules/_path.js","webpack:///./node_modules/core-js/modules/_collection-to-json.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/rxjs/operators/refCount.js","webpack:///./node_modules/rxjs/SubjectSubscription.js","webpack:///./node_modules/rxjs/util/isPromise.js","webpack:///./node_modules/rxjs/util/isArrayLike.js","webpack:///./node_modules/rxjs/util/isScheduler.js","webpack:///./node_modules/rxjs/observable/ScalarObservable.js","webpack:///./node_modules/rxjs/util/pipe.js","webpack:///./node_modules/rxjs/Observer.js","webpack:///./node_modules/rxjs/util/errorObject.js","webpack:///./node_modules/rxjs/util/isObject.js","webpack:///./node_modules/rxjs/util/isFunction.js","webpack:///./node_modules/rxjs/observable/forkJoin.js","webpack:///./node_modules/rxjs/operator/filter.js","webpack:///./node_modules/rxjs/operator/reduce.js","webpack:///./node_modules/rxjs/observable/merge.js","webpack:///./node_modules/@angular/platform-browser/esm5/animations.js","webpack:///./node_modules/node-forge/lib/task.js","webpack:///./node_modules/node-forge/lib/ssh.js","webpack:///./node_modules/node-forge/lib/pkcs7.js","webpack:///./node_modules/node-forge/lib/sha512.js","webpack:///./node_modules/node-forge/lib/md.all.js","webpack:///./node_modules/node-forge/lib/kem.js","webpack:///./node_modules/node-forge/lib/mgf.js","webpack:///./node_modules/node-forge/lib/aesCipherSuites.js","webpack:///./node_modules/node-forge/lib/index.js","webpack:///./node_modules/angular2-toaster/src/toast.component.d.ts.ToastComponent.html","webpack:///./node_modules/angular2-toaster/src/toaster-container.component.d.ts.ToasterContainerComponent.html","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/url/util.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/punycode/punycode.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/rxjs/observable/ForkJoinObservable.js","webpack:///./node_modules/rxjs/util/isDate.js","webpack:///./node_modules/rxjs/scheduler/async.js","webpack:///./node_modules/rxjs/operators/delay.js","webpack:///./node_modules/rxjs/operators/defaultIfEmpty.js","webpack:///./node_modules/rxjs/util/ArgumentOutOfRangeError.js","webpack:///./node_modules/rxjs/operators/takeLast.js","webpack:///./node_modules/rxjs/operators/scan.js","webpack:///./node_modules/rxjs/operators/reduce.js","webpack:///./node_modules/rxjs/operators/last.js","webpack:///./node_modules/rxjs/operators/every.js","webpack:///./node_modules/rxjs/operators/first.js","webpack:///./node_modules/rxjs/operators/concatAll.js","webpack:///./node_modules/rxjs/operators/catchError.js","webpack:///./node_modules/rxjs/observable/ArrayLikeObservable.js","webpack:///./node_modules/rxjs/observable/IteratorObservable.js","webpack:///./node_modules/rxjs/observable/FromObservable.js","webpack:///./node_modules/rxjs/operators/concatMap.js","webpack:///./node_modules/rxjs/Scheduler.js","webpack:///./node_modules/rxjs/scheduler/QueueScheduler.js","webpack:///./node_modules/rxjs/scheduler/Action.js","webpack:///./node_modules/rxjs/scheduler/QueueAction.js","webpack:///./node_modules/rxjs/scheduler/queue.js","webpack:///./node_modules/rxjs/ReplaySubject.js","webpack:///./node_modules/rxjs/add/operator/share.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/@angular/common/locales/sk.js","webpack:///./node_modules/@angular/common/locales/da.js","webpack:///./node_modules/core-js/modules/core.string.unescape-html.js","webpack:///./node_modules/core-js/modules/core.string.escape-html.js","webpack:///./node_modules/core-js/modules/core.regexp.escape.js","webpack:///./node_modules/core-js/modules/core.number.iterator.js","webpack:///./node_modules/core-js/modules/core.object.make.js","webpack:///./node_modules/core-js/modules/core.object.define.js","webpack:///./node_modules/core-js/modules/core.object.classof.js","webpack:///./node_modules/core-js/modules/core.object.is-object.js","webpack:///./node_modules/core-js/modules/core.function.part.js","webpack:///./node_modules/core-js/modules/core.delay.js","webpack:///./node_modules/core-js/modules/core.get-iterator.js","webpack:///./node_modules/core-js/modules/core.dict.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/core-js/modules/es7.observable.js","webpack:///./node_modules/core-js/modules/es7.asap.js","webpack:///./node_modules/core-js/modules/es7.math.umulh.js","webpack:///./node_modules/core-js/modules/es7.math.imulh.js","webpack:///./node_modules/core-js/modules/es7.math.isubh.js","webpack:///./node_modules/core-js/modules/es7.math.iaddh.js","webpack:///./node_modules/core-js/modules/es7.error.is-error.js","webpack:///./node_modules/core-js/modules/es7.system.global.js","webpack:///./node_modules/core-js/modules/es7.set.to-json.js","webpack:///./node_modules/core-js/modules/es7.map.to-json.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-setter.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-getter.js","webpack:///./node_modules/core-js/modules/es7.object.define-setter.js","webpack:///./node_modules/core-js/modules/es7.object.define-getter.js","webpack:///./node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/es7.string.match-all.js","webpack:///./node_modules/core-js/modules/es7.string.trim-right.js","webpack:///./node_modules/core-js/modules/es7.string.trim-left.js","webpack:///./node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/core-js/modules/es7.string.at.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/core-js/shim.js","webpack:///./node_modules/core-js/index.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.js","webpack:///./node_modules/rxjs/observable/ConnectableObservable.js","webpack:///./node_modules/rxjs/operators/multicast.js","webpack:///./node_modules/rxjs/operators/share.js","webpack:///./node_modules/rxjs/util/identity.js","webpack:///./node_modules/rxjs/InnerSubscriber.js","webpack:///./node_modules/rxjs/util/noop.js","webpack:///./node_modules/rxjs/util/UnsubscriptionError.js","webpack:///./node_modules/rxjs/util/tryCatch.js","webpack:///./node_modules/rxjs/util/toSubscriber.js"],"names":["rxjs_Subject__WEBPACK_IMPORTED_MODULE_4__","__webpack_require__","InjectionToken","_desc","this","ngMetadataName","prototype","toString","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","name","props","parentClass","chainFn","metaCtor","makeMetadataCtor","DecoratorFactory","objOrType","call","annotationInstance","TypeDecorator","cls","hasOwnProperty","Object","defineProperty","value","push","create","annotationCls","args","_i","arguments","length","values","apply","propName","makeParamDecorator","ParamDecoratorFactory","_a","bind","concat","annotation","ParamDecorator","unusedKey","index","parameters","makePropDecorator","PropDecoratorFactory","decoratorInstance","target","constructor","meta","unshift","ANALYZE_FOR_ENTRY_COMPONENTS","Attribute","attributeName","Query","ContentChildren","selector","data","tslib__WEBPACK_IMPORTED_MODULE_0__","first","isViewQuery","descendants","ContentChild","ViewChildren","ViewChild","ChangeDetectionStrategy","OnPush","Default","ChangeDetectorStatus","CheckOnce","Checked","CheckAlways","Detached","Errored","Destroyed","isDefaultChangeDetectionStrategy","changeDetectionStrategy","Directive","dir","Component","c","changeDetection","Pipe","p","pure","Input","bindingPropertyName","Output","HostBinding","hostPropertyName","HostListener","eventName","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","NgModule","ngModule","ViewEncapsulation","Emulated","Native","None","Version","full","major","split","minor","patch","slice","join","VERSION","Inject","token","Optional","Injectable","Self","SkipSelf","Host","__window","window","__self","self","WorkerGlobalScope","_global","global","_symbolIterator","getSymbolIterator","Symbol_1","iterator","keys","getOwnPropertyNames","Map","i","key","scheduleMicroTask","fn","Zone","current","looseIdentical","a","b","isNaN","stringify","Array","map","overriddenName","res","newLineIndex","indexOf","substring","forwardRef","forwardRefFn","__forward_ref__","resolveForwardRef","type","SOURCE","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","_NullInjector","get","notFoundValue","Error","Injector","options","parent","isArray","StaticInjector","providers","NULL","IDENT","EMPTY","CIRCULAR","MULTI_PROVIDER_FN","GET_PROPERTY_NAME","USE_VALUE","objWithPropertyToExtract","getClosureSafeProperty","provide","String","useValue","NG_TEMP_TOKEN_PATH","NULL_INJECTOR","NEW_LINE","NO_NEW_LINE","source","records","_records","set","deps","useNew","recursivelyProcessProviders","provider","staticError","resolvedProvider","providerDeps","j","annotations","useExisting","computeDeps","useFactory","useClass","resolveProvider","multi","multiProvider","multiProviderMixError","record","tryResolveToken","e","tokenPath","message","formatError","tokens","forEach","v","obj","undefined","depRecords","depRecord","childRecord","resolveToken","text","charAt","substr","context","parts","JSON","replace","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","getDebugContext","error","getOriginalError","defaultErrorLogger","console","ErrorHandler","_console","handleError","originalError","_findOriginalError","_findContext","errorLogger","getErrorLogger","constructResolvingPath","findFirstClosedCycle","reverse","k","injectionError","injector","constructResolvingMessage","errMsg","msg","wrappedError","addKey","injectors","noAnnotationError","typeOrFunc","params","signature","ii","parameter","ReflectiveKey","id","displayName","_globalKeyRegistry","numberOfKeys","enumerable","configurable","KeyRegistry","_allKeys","has","newKey","size","Type","Function","isType","DELEGATE_CTOR","ReflectionCapabilities","reflect","_reflect","isReflectionEnabled","factory","t","_zipTypesAndAnnotations","paramTypes","paramAnnotations","result","_ownParameters","parentCtor","exec","tsickleCtorParams","ctorParameters","paramTypes_1","ctorParam","paramAnnotations_1","convertTsickleDecoratorIntoMetadata","decorators","getOwnMetadata","fill","getParentCtor","_ownAnnotations","ownAnnotations","_ownPropMetadata","propMetadata","propDecorators","propDecorators_1","propMetadata_1","prop","parentPropMetadata_1","ownPropMetadata","hasLifecycleHook","lcProperty","guards","getter","setter","method","importUri","resourceUri","resolveIdentifier","moduleUrl","members","runtime","resolveEnum","enumIdentifier","decoratorInvocations","decoratorInvocation","annotationArgs","ctor","parentProto","getPrototypeOf","reflector","Reflector","reflectionCapabilities","updateCapabilities","caps","identifier","ReflectiveDependency","optional","visibility","fromKey","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","dependencies","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","params_1","_extractToken","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","resolvedProviderMap","normalizedProvidersMap","existing","mergeResolvedReflectiveProviders","_normalizeProviders","from","some","metadata","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","resolve","resolveAndCreate","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_parent","_constructionCounter","len","keyIds","objs","_getByKey","resolveAndCreateChild","createChildFromResolved","inj","resolveAndInstantiate","instantiateResolved","_instantiateProvider","getProviderAtIndex","outOfBoundsError","_new","_getMaxNumberOfObjects","_instantiate","ResolvedReflectiveFactory$$1","originalException","_this","dep","_getByReflectiveDependency","stack","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","_getObjByKeyId","keyId","_throwOrNull","noProviderError","inj_","_mapProviders","isPromise","then","isObservable","subscribe","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","done","donePromise","Promise","rej","reject","runInitializers","asyncInitPromises","complete","initResult","all","catch","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","fromCharCode","Math","floor","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","Console","log","warn","ModuleWithComponentFactories","ngModuleFactory","componentFactories","_throwError","Compiler","compileModuleSync","moduleType","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","clearCache","clearCacheFor","COMPILER_OPTIONS","CompilerFactory","ComponentRef","ComponentFactory","noComponentFactoryError","component","ERROR_COMPONENT","trace","events","_NullComponentFactoryResolver","resolveComponentFactory","ComponentFactoryResolver","CodegenComponentFactoryResolver","factories","_ngModule","_factories","componentType","ComponentFactoryBoundToModule","_super","ngContentSelectors","inputs","outputs","projectableNodes","rootSelectorOrNode","NgModuleRef","NgModuleFactory","detectWTF","wtf","createScope","flags","leave","scope","returnValue","leaveScope","startTimeRange","rangeType","action","beginTimeRange","endTimeRange","range","wtfEnabled","noopScope","arg0","arg1","wtfCreateScope","wtfLeave","s","r","wtfStartTimeRange","wtfEndTimeRange","EventEmitter","isAsync","__isAsync","emit","next","generatorOrNext","schedulerFn","errorFn","err","completeFn","setTimeout","NgZone","_b","enableLongStackTrace","hasPendingMicrotasks","hasPendingMacrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","zone","_nesting","_outer","_inner","fork","properties","isAngularZone","onInvokeTask","delegate","task","applyThis","applyArgs","onEnter","invokeTask","onLeave","onInvoke","callback","invoke","onHasTask","hasTaskState","hasTask","change","microTask","checkStable","macroTask","onHandleError","runOutsideAngular","isInAngularZone","assertInAngularZone","assertNotInAngularZone","run","runTask","scheduleEventTask","EMPTY_PAYLOAD","noop","cancelTask","runGuarded","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","_watchAngularEvents","_runCallbacksIfReady","increasePendingRequestCount","decreasePendingRequestCount","pop","whenStable","getPendingRequestCount","findProviders","using","exactMatch","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","registerApplication","testability","unregisterApplication","delete","unregisterAllApplications","clear","getTestability","elem","getAllTestabilities","getAllRootElements","findTestabilityInTree","findInAncestors","setTestabilityGetter","_platform","_NoopGetTestability","registry","_devMode","_runModeLocked","ALLOW_MULTIPLE_PLATFORMS","enableProdMode","isDevMode","NgProbeToken","createPlatform","destroyed","PlatformRef","inits","init","createPlatformFactory","parentPlatformFactory","desc","marker","extraProviders","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","destroy","_injector","_modules","_destroyListeners","_destroyed","bootstrapModuleFactory","moduleFactory","ngZone","ngZoneOption","getNgZone","ngZoneInjector","moduleRef","exceptionHandler","onDestroy","remove","errorHandler","_callAndReportToErrorHandler","initStatus","_moduleDoBootstrap","bootstrapModule","compilerOptions","compilerFactory","optionsReducer","createCompiler","appRef","ApplicationRef","_bootstrapComponents","f","bootstrap","instance","ngDoBootstrap","module","listener","dst","reduce","_zone","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_enforceNoNewChanges","_stable","componentTypes","components","tick","isCurrentlyStable","rxjs_Observable__WEBPACK_IMPORTED_MODULE_1__","observer","stableSub","unstableSub","unsubscribe","rxjs_observable_merge__WEBPACK_IMPORTED_MODULE_2__","rxjs_operator_share__WEBPACK_IMPORTED_MODULE_3__","componentOrFactory","componentFactory","selectorOrNode","compRef","_unloadComponent","location","nativeElement","_loadComponent","_tickScope","view","detectChanges","checkNoChanges","attachView","viewRef","attachToAppRef","detachView","detachFromAppRef","componentRef","hostView","ngOnDestroy","list","el","splice","RenderComponentType","templateUrl","slotCount","encapsulation","styles","animations","RenderDebugInfo","Renderer","RootRenderer","RendererFactory2","RendererStyleFlags2","Important","DashCase","Renderer2","ElementRef","NgModuleFactoryLoader","moduleFactories","registerModuleFactory","getModuleFactory","QueryList","dirty","_results","changes","filter","find","toArray","reset","flatten","flat","item","flatItem","last","notifyOnChanges","setDirty","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","config","_config","load","path","loadFactory","loadAndCompile","exportName","checkNotEmpty","factoryClassSuffix","modulePath","TemplateRef","ViewContainerRef","ChangeDetectorRef","ViewRef","EmbeddedViewRef","EventListener","DebugNode","nativeNode","_debugContext","DebugElement","addChild","listeners","references","providerTokens","attributes","classes","childNodes","child","removeChild","childIndex","insertChildrenAfter","newChildren","siblingIndex","insertBefore","refChild","newChild","refIndex","query","predicate","queryAll","matches","_queryElementChildren","queryAllNodes","_queryNodeChildren","node","triggerEventHandler","eventObj","asNativeElements","debugEls","element","parentNode","_nativeNodeToDebugNode","getDebugNode","indexDebugNode","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","comparator","iterator1","iterator2","item1","item2","areIterablesEqual","WrappedValue","wrapped","wrap","ValueUnwrapper","hasWrappedValue","unwrap","SimpleChange","previousValue","currentValue","firstChange","isFirstChange","isJsObject","o","DefaultIterableDifferFactory","supports","trackByFn","DefaultIterableDiffer","trackByIdentity","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","forEachItem","_next","forEachOperation","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","currentIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","offset","forEachPreviousItem","_nextPrevious","forEachAddedItem","_nextAdded","forEachMovedItem","_nextMoved","forEachRemovedItem","forEachIdentityChange","_nextIdentityChange","diff","collection","check","_reset","itemTrackBy","mayBeDirty","index_1","trackById","_verifyReinsertion","_addIdentityChange","_mismatch","iterateListLike","_truncate","isDirty","nextRecord","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","_addToRemovals","_unlink","prevRecord","prev","_prevRemoved","_insertAfter","_DuplicateMap","put","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","add","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","forEachChangedItem","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","before","record_1","KeyValueChangeRecord_","_addToAdditions","newValue","_addToChanges","IterableDiffers","copied","extend","iterable","KeyValueDiffers","kv","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","platformCore","LOCALE_ID","TRANSLATIONS","TRANSLATIONS_FORMAT","MissingTranslationStrategy","Warning","Ignore","_iterableDiffersFactory","_keyValueDiffersFactory","_localeFactory","locale","ApplicationModule","SecurityContext","NONE","HTML","STYLE","SCRIPT","URL","RESOURCE_URL","Sanitizer","shiftInitState","priorInitState","newInitState","state","initState","initIndex","shouldCallLifecycleInitHook","asTextData","nodes","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createEmbeddedView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","updateDirectives","updateRenderer","dirtyParentQueries","expressionChangedAfterItHasBeenCheckedError","oldValue","currValue","isFirstCheck","_addDebugContext","viewDebugError","logError","viewDestroyedError","NOOP","_tokenKeyCache","tokenKey","unwrapValue","nodeIdx","bindingIdx","globalBindingIdx","def","bindingIndex","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","createRendererType2","_renderCompCount","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","nodeIndex","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","event","componentView","root","declaredViewContainer","viewParentEl","renderNode","renderElement","renderText","elementEventFullName","isComponentView","isEmbeddedView","filterQueryId","queryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","valueType","splitDepsDsl","sourceName","getParentRenderElement","renderHost","renderParent","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","visitRootRenderNodes","nextSibling","renderer","visitSiblingRenderNodes","startIndex","endIndex","nodeDef","visitRenderNode","childCount","visitProjectedRenderNodes","ngContentIndex","compView","hostElDef","projectedNodes","execRenderNodeAction","rn","bindingFlags","embeddedViews","_embeddedViews","appendChild","NS_PREFIX_RE","splitNamespace","match","calcBindingFlags","bindings","interpolate","valueCount","constAndInterp","_toStringWithNull","inlineInterpolate","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY","EMPTY_MAP","anchorDef","templateFactory","outputIndex","checkIndex","childFlags","directChildFlags","childMatchedQueries","ns","attrs","template","componentProvider","publicProviders","allProviders","ngContent","elementDef","namespaceAndName","fixedAttrs","bindingDefs","_c","namespaceAndName_1","suffixOrSecurityContext","_d","ns_1","name_1","securityContext","suffix","nonMinifiedName","outputDefs","_e","createElement","elDef","createComment","parentEl","selectRootElement","name_2","setAttribute","listenToElementOutputs","output","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","listen","checkAndUpdateElementValue","binding","elData","renderNode$$1","renderValue","sanitizer","sanitize","removeAttribute","setElementAttribute","addClass","removeClass","setElementClass","unit","setStyle","removeStyle","setElementStyle","setProperty","setElementProperty","UNDEFINED_VALUE","InjectorRefTokenKey$1","NgModuleRefTokenKey","moduleProvideDef","moduleDef","providersByKey","resolveNgModuleDep","depDef","tokenKey$$1","providerDef","_def","providerInstance","_createProviderInstance$1","injectable","depValues","_createClass","_callFactory","attachEmbeddedView","parentView","elementData","viewIndex","addToArray","vcElementData","dvcElementData","projectedViews","_projectedViews","viewDef","nodeFlags","parentNodeDef","markNodeAsProjectedTemplate","attachProjectedView","renderAttachEmbeddedView","detachEmbeddedView","removeFromArray","renderDetachView","prevView","prevRenderNode","arr","EMPTY_CONTEXT","createComponentFactory","viewDefFactory","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","inputsArr","templateName","outputsArr","componentNodeIndex","ComponentRef_","ViewRef_","_view","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","ViewContainerRef_","_data","ref","attachToViewContainerRef","templateRef","insert","createComponent","ngModuleRef","contextInjector","parentInjector","viewRef_","viewData","move","oldViewIndex","newViewIndex","detach","createChangeDetectorRef","_viewContainerRef","_appRef","renderNodes","markForCheck","fs","rendererFactory","begin","end","reattach","disposables","vcRef","createTemplateData","TemplateRef_","_parentView","createInjector","allowPrivateServices","nodeValue","createRendererV1","RendererAdapter","createViewRoot","hostElement","createTemplateAnchor","parentElement","comment","createText","projectNodes","attachViewAfter","viewRootNodes","viewAllNodes","listenGlobal","propertyName","propertyValue","attributeValue","setBindingDebugInfo","className","isAdd","styleName","styleValue","invokeElementMethod","methodName","setText","setValue","animate","bootstrapComponents","NgModuleRef_","_moduleType","provDef","initNgModule","lifecycles","callNgModuleLifecycle","RendererV1TokenKey","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey","directiveDef","pipeDef","depDefs","createProviderInstance","_createProviderInstance","createPipeInstance","createClass","createDirectiveInstance","subscription","eventHandlerClosure","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","startView","findCompView","viewContainer","providerDef_1","providerData","updateProp","callLifecycleHooksChildrenFirst","parent_1","callProviderLifecycles","callElementProvidersLifecycles","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","queryDef","bindingType","filterId","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","queryList","directiveInstance","newValues","calcQueryValues","notify","boundValue","getQueryValue","embeddedView","dvc","projectedView","queryValueType","ngContentDef","appendNgContent","purePipeDef","argCount","_pureExpressionDef","pureArrayDef","pureObjectDef","propToIndex","nbKeys","propertyNames","textDef","staticText","prefix","_addInterpolationPart","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentParent","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","lastRenderRootNode","validateNode","isPrivateService","isComponent","isNgContainer","newParent","rootNodeFlags","bindingCount","outputCount","nodeCount","parentEnd","anchorDef$$1","createView","initView","createViewNodes","compRenderer","rendererType","createRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","v0","v1","v2","v3","v4","v5","v6","v7","v8","v9","bindLen","changed","checkAndUpdateElementInline","checkAndUpdateTextInline","directive","ngOnChanges","ngOnInit","ngDoCheck","checkAndUpdateDirectiveInline","pipe","transform","checkAndUpdatePureExpressionInline","checkAndUpdateNodeInline","checkAndUpdateElementDynamic","checkAndUpdateTextDynamic","checkAndUpdateDirectiveDynamic","checkAndUpdatePureExpressionDynamic","checkAndUpdateNodeDynamic","i_1","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","detachProjectedView","destroyNode","destroyViewNodes","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","callViewAction","viewState","execProjectedViewsAction","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","DebugContext_","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","createProdRootView","prodCheckAndUpdateNode","prodCheckNoChangesNode","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDef$$1","viewDefOverrides","hasOverrides","hasDeprecatedOverrides","providerOverrides","override","deprecatedBehavior","calcHasOverrides","applyProviderOverrides","applyProviderOverridesToNgModule","comp","compFactory","elementIndicesWithOverwrittenProviders","elIndicesWithOverwrittenProviders","lastElementDef","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndex","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","givenValues","bindingValues","normalizeDebugBindingName","normalizeDebugBindingValue","attr","CAMEL_CASE_REGEXP","m","toLowerCase","elView","elOrCompView","childDef","collectReferences","findHostElement","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","refName","oldAction","oldView","oldNodeIndex","viewWrappedDebugError","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","removeDebugNodeFromIndex","namespace","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","fullName","style","createNgModuleFactory","ngModuleType","defFactory","NgModuleFactory_","_ngModuleDefFactory","stringifyValueForError","assertEqual","actual","expected","serializer","assertThrow","assertNotNull","assertNotEqual","operator","assertNodeType","typeSerializer","addRemoveViewFromContainer","container","rootNode","insertMode","beforeNode","ngDevMode","containerNode","native","viewOrElement","findNativeParent","nextNode","isFnRenderer","childContainerData","views","removeView","removeIndex","viewNode","setViewNext","rootView","viewOrContainerState","cleanUpView","getParentState","destroyViewTree","cleanup","removeEventListener","currentView","stringify$1","QueryList_","_valuesTree","_values","_refresh","RendererStyleFlags3","previousOrParentNode","isParent","ngStaticData","currentQuery","creationMode","viewHookStartIndex","domRendererFactory3","document","NG_HOST_SYMBOL","enterView","newViewState","host","oldViewState","bindingStartIndex","leaveView","writeIndex","executeViewHooks","createViewState","viewId","tail","createLNode","isState","nodeInjector","staticData","elementStart","nameOrComponentDef","localName","node_1","isHostElement","tag","ngStaticData_1","getTemplateStatic","addToViewTree","assertDataInRange","createNodeStatic","isProceduralRenderer","setUpAttributes","createError","locateHostElement","elementOrSelector","defaultRenderer","rNode","elementEnd","assertHasParent","addNode","elementProperty","NO_CHANGE","isInputData","start","propertyAliasMap","publicName","internalName","staticDirData","hasProperty","generatePropertyAliases","dataValue","inputData","setInputsForProperty","tagName","containerStatic","localNames","initialInputs","elementStyle","lElement","removeProperty","textNode","textBinding","existingNode","textContent","sibling","nativeSibling","insertChild","nodeStaticData","diPublic_1","diPublic","directiveIndex","initialInputData","attrName","minifiedInputName","inputsToStore","generateInitialInputs","setInputsFromAttrs","containerStart","nextIndex","containerEnd","containerRefreshStart","containerRefreshEnd","viewStart","viewBlockId","containerState","existingView","viewUpdateMode","initViewStaticData","viewEnd","previousView","newView","findBeforeNode","insertView","componentRefresh","elementIndex","different","bind1","renderComponent","opts","componentDef","ngComponentDef","hostNode","n","features","feature","componentOrContext","renderComponentOrTemplate","defineComponent","componentDefinition","refresh","d","h","hostBindings","noop$1","invertObject","methods","EMPTY$1","newObj","minifiedKey","trigger$1","definitions","animate$1","timings","group$1","steps","sequence$1","style$1","state$1","keyframes$1","transition$1","stateChangeExpr","expr","animation","AUTO_STYLE","trigger$$1","animate$$1","group$$1","sequence$$1","style$$1","state$$1","keyframes$$1","transition$$1","core","hide","redefine","ctx","$export","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","exports","expProto","U","W","R","BehaviorSubject","ReplaySubject","common","router","delay","DefaultConfig","pageTracking","autoTrackVirtualPages","basePath","excludedRoutes","clearIds","clearQueryParams","idsRegExp","developerMode","ga","appInsights","gtm","ANGULARTICS2_TOKEN","RouterlessTracking","trackLocation","settings","url","prepareExternalUrl","__assign","assign","Angulartics2","tracker","setup","pageTrack","eventTrack","exceptionTrack","setAlias","setUsername","setUserProperties","setUserPropertiesOnce","setSuperProperties","setSuperPropertiesOnce","userTimings","defaultConfig","trackUrlChange","virtualPageviews","excludeRoutes","routes","withBase","matchesExcludedRoute","clearedUrl","clearUrl","excludedRoute","matchesRegex","RegExp","test","part","AngularRouterTracking","router$$1","NavigationEnd","urlAfterRedirects","Router","Location","__assign$1","Angulartics2On","elRef","angulartics2","angularticsProperties","angulartics2On","angularticsAction","eventType","angularticsCategory","category","angularticsLabel","label","angularticsValue","Angulartics2OnModule","declarations","Angulartics2Module","forRoot","imports","tslib__WEBPACK_IMPORTED_MODULE_1__","PlatformLocation","LOCATION_INITIALIZED","_angular_core__WEBPACK_IMPORTED_MODULE_0__","LocationStrategy","APP_BASE_HREF","platformStrategy","_subject","_platformStrategy","browserBaseHref","getBaseHref","_baseHref","stripTrailingSlash","_stripIndexHtml","onPopState","ev","includeHash","normalize","isCurrentPathEqualTo","normalizeQueryParams","baseHref","startsWith","_stripBaseHref","go","pushState","replaceState","forward","back","onNext","onThrow","onReturn","joinWithSlash","slashes","endsWith","pathEndIdx","droppedSlashIdx","HashLocationStrategy","_platformLocation","onHashChange","hash","internal","title","queryParams","pathname","PathLocationStrategy","href","getBaseHrefFromDOM","search","externalUrl","CURRENCIES","AOA","ARS","AUD","BAM","BBD","BDT","BMD","BND","BOB","BRL","BSD","BWP","BYN","BZD","CAD","CLP","CNY","COP","CRC","CUC","CUP","CZK","DKK","DOP","EGP","ESP","EUR","FJD","FKP","GBP","GEL","GIP","GNF","GTQ","GYD","HKD","HNL","HRK","HUF","IDR","ILS","INR","ISK","JMD","JPY","KHR","KMF","KPW","KRW","KYD","KZT","LAK","LBP","LKR","LRD","LTL","LVL","MGA","MMK","MNT","MUR","MXN","MYR","NAD","NGN","NIO","NOK","NPR","NZD","PHP","PKR","PLN","PYG","RON","RUB","RUR","RWF","SBD","SEK","SGD","SHP","SRD","SSP","STD","SYP","THB","TOP","TRY","TTD","TWD","UAH","USD","UYU","VEF","VND","XAF","XCD","XOF","XPF","ZAR","ZMW","localeEn","abs","LOCALE_DATA","registerLocaleData","localeId","extraData","NumberFormatStyle","Decimal","Percent","Currency","Scientific","Plural","Zero","One","Two","Few","Many","Other","FormStyle","Format","Standalone","TranslationWidth","Narrow","Abbreviated","Wide","Short","FormatWidth","Medium","Long","Full","NumberSymbol","Group","List","PercentSign","PlusSign","MinusSign","Exponential","SuperscriptingExponent","PerMille","Infinity","NaN","TimeSeparator","CurrencyDecimal","CurrencyGroup","WeekDay","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","getLocaleId","findLocaleData","getLocaleDayPeriods","formStyle","width","getLastDefinedValue","getLocaleDayNames","getLocaleMonthNames","getLocaleEraNames","getLocaleFirstDayOfWeek","getLocaleWeekEndRange","getLocaleDateFormat","getLocaleTimeFormat","getLocaleDateTimeFormat","getLocaleNumberSymbol","symbol","getLocaleNumberFormat","getLocaleCurrencySymbol","getLocaleCurrencyName","getLocalePluralCase","checkFullData","getLocaleExtraDayPeriodRules","rule","extractTime","getLocaleExtraDayPeriods","time","hours","minutes","normalizedLocale","parentLocale","getCurrencySymbol","code","format","currency","symbolNarrow","DEPRECATED_PLURAL_FN","NgLocalization","getPluralCategory","cases","ngLocalization","NgLocaleLocalization","deprecatedPluralFn","getPluralCase","nLike","parseInt","nDecimal","parseCookieValue","cookieStr","encodeURIComponent","cookie","eqIndex","cookieValue","trim","decodeURIComponent","NgClass","_iterableDiffers","_keyValueDiffers","_ngEl","_renderer","_initialClasses","_applyInitialClasses","_applyClasses","_rawClass","_cleanupClasses","_iterableDiffer","_keyValueDiffer","iterableChanges","_applyIterableChanges","keyValueChanges","_applyKeyValueChanges","rawClassVal","_toggleClass","isCleanup","klass","Set","enabled","ngClass","NgComponentOutlet","_componentRef","_moduleRef","ngComponentOutlet","ngComponentOutletInjector","ngComponentOutletNgModuleFactory","parentModule","componentFactoryResolver","ngComponentOutletContent","NgForOfContext","$implicit","ngForOf","count","even","NgForOf","_viewContainer","_template","_differs","_differ","ngForTrackBy","_applyChanges","insertTuples","adjustedPreviousIndex","tuple","RecordViewTuple","_perViewChange","ilen","ngForTemplate","NgIf","_context","NgIfContext","_thenTemplateRef","_elseTemplateRef","_thenViewRef","_elseViewRef","condition","ngIf","_updateView","ngIfThen","ngIfElse","SwitchView","_templateRef","_created","enforceState","created","NgSwitch","_defaultUsed","_caseCount","_lastCaseCheckIndex","_lastCasesMatched","_ngSwitch","_updateDefaultCases","_addCase","_addDefault","_defaultViews","_matchCase","matched","useDefault","ngSwitch","NgSwitchCase","ngSwitchCase","NgSwitchDefault","NgPlural","_localization","_caseViews","_switchValue","addCase","switchView","_clearViews","_activateView","_activeView","ngPlural","NgPluralCase","isANumber","Number","NgStyle","_ngStyle","_setStyle","nameAndUnit","ngStyle","NgTemplateOutlet","_shouldRecreateView","ngTemplateOutlet","ngTemplateOutletContext","_updateExistingContext","ctxChange","_hasContextShapeChanged","prevCtxKeys","currCtxKeys","currCtxKeys_1","COMMON_DIRECTIVES","NAMED_FORMATS","DATE_FORMATS_SPLIT","ZoneWidth","ShortGMT","Extended","DateType","FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds","Day","TranslationType","DayPeriods","Days","Months","Eras","formatDate","date","timezone","getNamedFormat","formatValue","shortTime","shortDate","formatDateTime","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","dateTimezoneOffset","getTimezoneOffset","timezoneToOffset","reverseValue","timezoneOffset","getTime","setMinutes","getMinutes","addDateMinutes","convertTimezoneToLocal","dateFormatter","DATE_FORMATS","formatter","dateStrGetter","dateGetter","weekGetter","timeZoneGetter","getDateFormatter","str","opt_values","padNumber","num","digits","minusSign","negWrap","neg","strNum","getFullYear","getMonth","getDate","getHours","getSeconds","div","round","getMilliseconds","getDay","getDatePart","form","extended","currentHours_1","currentMinutes_1","result_1","rules","dayPeriods_1","hoursFrom","minutesFrom","hoursTo","minutesTo","unexpected","getDateTranslation","ceil","JANUARY","THURSDAY","monthBased","datetime","year","firstDayOfYear","nbDaysBefore1stDayOfMonth","today","firstThurs","fallback","requestedTimezoneOffset","parse","invalidPipeArgumentError","ISO8601_DATE_REGEX","DatePipe","isDate$1","parseFloat","val","y","isoStringToDate","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","ms","valueOf","inner","NumberFormatter","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","currencyAsSymbol","currencyDisplay","Intl","NumberFormat","DATE_FORMATS_SPLIT$1","PATTERN_ALIASES","yMMMdjms","datePartGetterFactory","combine","digitCondition","nameCondition","yMdjm","yMMMMEEEEd","yMMMMd","yMMMd","yMd","jms","jm","DATE_FORMATS$1","yyyy","yy","MMMM","MMM","MM","M","LLLL","L","dd","HH","digitModifier","hourExtractor","hour12Modify","H","hh","jj","mm","ss","sss","EEEE","EEE","EE","E","Z","timeZoneGetter$1","z","ww","w","GG","GGG","GGGG","intlDateFormat","DateTimeFormat","hour","hour12","timeZoneName","merged","opt","ret","DATE_FORMATTER_CACHE","DateFormatter","pattern","cacheKey","_format","partToTime","DeprecatedDatePipe","_locale","isDate","_ALIASES","medium","short","NUMBER_FORMAT_REGEXP","MAX_DIGITS","DECIMAL_SEP","ZERO_CHAR","PATTERN_SEP","GROUP_SEP","DIGIT_CHAR","CURRENCY_CHAR","PERCENT_CHAR","formatNumber$1","digitsInfo","minInt","minFrac","maxFrac","posPre","posSuf","negPre","negSuf","gSize","lgSize","patternParts","positive","negative","positiveParts","lastIndexOf","integer","fraction","ch","groups","trunkLen","pos","parseNumberFormat","formattedText","isZero","isFinite","parsedNumber","integerLen","zeros","numStr","exponent","parseNumber","fractionLen","toPercent","minFraction","maxFraction","minIntPart","minFractionPart","maxFractionPart","parseIntAutoRadix","fractionSize","min","max","roundAt","digit","dropTrailingZeros","minLen","carry","reduceRight","roundNumber","decimals","every","groupSymbol","formatNumber","DeprecatedDecimalPipe","DeprecatedPercentPipe","DeprecatedCurrencyPipe","currencyCode","symbolDisplay","COMMON_DEPRECATED_I18N_PIPES","ObservableStrategy","createSubscription","async","updateLatestValue","dispose","_promiseStrategy","PromiseStrategy","_observableStrategy","AsyncPipe","_ref","_latestValue","_latestReturnedValue","_subscription","_obj","_strategy","_dispose","_subscribe","_selectStrategy","_updateLatestValue","LowerCasePipe","TitleCasePipe","word","toUpperCase","titleCaseWord","UpperCasePipe","_INTERPOLATION_REGEXP","I18nPluralPipe","pluralMap","I18nSelectPipe","mapping","JsonPipe","DecimalPipe","isEmpty","PercentPipe","CurrencyPipe","display","SlicePipe","COMMON_PIPES","CommonModule","ɵ0","DeprecatedI18NPipesModule","DOCUMENT","PLATFORM_BROWSER_ID","PLATFORM_SERVER_ID","PLATFORM_WORKER_APP_ID","PLATFORM_WORKER_UI_ID","isPlatformBrowser","platformId","isPlatformServer","isPlatformWorkerApp","isPlatformWorkerUi","extendStatics","setPrototypeOf","__proto__","__extends","__","ToasterService","addToast","_addToast","share","clearToasts","_clearToasts","_removeToastSubject","rxjs_Subject__WEBPACK_IMPORTED_MODULE_3__","removeToast","body","toast","toastId","Guid","newGuid","popAsync","toastContainerId","clearWrapper","rxjs_operator_filter__WEBPACK_IMPORTED_MODULE_21__","RouterEvent","NavigationStart","tslib__WEBPACK_IMPORTED_MODULE_2__","NavigationCancel","reason","NavigationError","RoutesRecognized","GuardsCheckStart","GuardsCheckEnd","shouldActivate","ResolveStart","ResolveEnd","RouteConfigLoadStart","route","RouteConfigLoadEnd","ChildActivationStart","snapshot","routeConfig","ChildActivationEnd","ActivationStart","ActivationEnd","PRIMARY_OUTLET","ParamsAsMap","getAll","convertToParamMap","NAVIGATION_CANCELING_ERROR","defaultUrlMatcher","segments","segmentGroup","pathMatch","hasChildren","posParams","segment","consumed","LoadedRouterConfig","validateConfig","parentPath","getFullPath","fullPath","outlet","redirectTo","children","loadChildren","matcher","currentRoute","shallowEqual","k1","k2","last$1","map$$1","andObservables","observables","merged$","rxjs_operator_mergeAll__WEBPACK_IMPORTED_MODULE_18__","rxjs_operator_every__WEBPACK_IMPORTED_MODULE_16__","wrapIntoObservable","_angular_core__WEBPACK_IMPORTED_MODULE_1__","rxjs_observable_fromPromise__WEBPACK_IMPORTED_MODULE_15__","rxjs_observable_of__WEBPACK_IMPORTED_MODULE_5__","containsTree","containee","exact","equalQueryParams","equalSegmentGroups","equalPath","numberOfChildren","containsQueryParams","containsSegmentGroup","containsSegmentGroupHelper","containeePaths","UrlTree","fragment","_queryParamMap","DEFAULT_SERIALIZER","serialize","UrlSegmentGroup","serializePaths","UrlSegment","_parameterMap","serializePath","as","bs","mapChildrenIntoArray","childOutlet","UrlSerializer","DefaultUrlSerializer","UrlParser","parseRootSegment","parseQueryParams","parseFragment","tree","strParams","serializeSegment","primary","children_1","encode","encodeURI","decode","SEGMENT_RE","matchSegments","QUERY_PARAM_RE","QUERY_PARAM_VALUE_RE","remaining","consumeOptional","peekStartsWith","parseChildren","parseQueryParam","decodeURI","parseSegment","capture","parseParens","parseMatrixParams","parseParam","valueMatch","matchUrlQueryParamValue","decodedKey","decodedVal","currentVal","allowPrimary","outletName","NoMatch","AbsoluteRedirect","urlTree","noMatch","rxjs_Observable__WEBPACK_IMPORTED_MODULE_9__","obs","absoluteRedirect","newTree","namedOutletsRedirect","canLoadFails","ApplyRedirects","moduleInjector","configLoader","urlSerializer","allowRedirects","expanded$","expandSegmentGroup","urlTrees$","rxjs_operator_map__WEBPACK_IMPORTED_MODULE_7__","rootSegmentGroup","createUrlTree","rxjs_operator_catch__WEBPACK_IMPORTED_MODULE_11__","noMatchError","mapped$","rootCandidate","expandChildren","expandSegment","waitHead","waitTail","mapped","concat$","rxjs_operator_concatAll__WEBPACK_IMPORTED_MODULE_12__","last$","rxjs_operator_last__WEBPACK_IMPORTED_MODULE_17__","waitForMap","routes$","processedRoutes$","expandSegmentAgainstRoute","concattedProcessedRoutes$","first$","rxjs_operator_first__WEBPACK_IMPORTED_MODULE_13__","_","rxjs_util_EmptyError__WEBPACK_IMPORTED_MODULE_14__","noLeftoversInUrl","paths","getOutlet","matchSegmentAgainstRoute","expandSegmentAgainstRouteUsingRedirect","expandWildCardWithParamsAgainstRouteUsingRedirect","expandRegularSegmentAgainstRouteUsingRedirect","applyRedirectCommands","rxjs_operator_mergeMap__WEBPACK_IMPORTED_MODULE_8__","lineralizeSegments","newSegments","group","consumedSegments","lastChild","positionalParamSegments","rawSegmentGroup","cfg","_loadedConfig","rawSlicedSegments","childConfig$","getChildConfig","routerConfig","childModule","childConfig","slicedSegments","isEmptyPathRedirect","containsEmptyPathRedirectsWithNamedOutlets","primarySegmentGroup","routes_2","createChildrenForEmptySegments","mergeTrivialChildren","containsEmptyPathRedirects","routes_1","addEmptySegmentsToChildrenIfNeeded","expanded$_1","cs","canLoad","rxjs_observable_from__WEBPACK_IMPORTED_MODULE_10__","injectionToken","guard","runCanLoadGuard","shouldLoad","applyRedirectCreatreUrlTree","newRoot","createSegmentGroup","createQueryParams","redirectToParams","actualParams","updatedSegments","createSegments","redirectToSegments","actualSegments","findPosParam","findOrReturn","redirectToUrlSegment","idx","actualSegments_1","Tree","_root","pathFromRoot","findNode","firstChild","siblings","findPath","cc","TreeNode","nodeChildrenAsMap","RouterState","setRouterState","createEmptyState","rootComponent","activated","ActivatedRouteSnapshot","RouterStateSnapshot","createEmptyStateSnapshot","emptyUrl","rxjs_BehaviorSubject__WEBPACK_IMPORTED_MODULE_3__","emptyParams","emptyData","emptyQueryParams","ActivatedRoute","futureSnapshot","_futureSnapshot","_routerState","_paramMap","inheritedParamsDataResolve","paramsInheritanceStrategy","inheritingStartingFrom","curr","_resolvedData","flattenInherited","urlSegment","lastPathIndex","_urlSegment","_lastPathIndex","_resolve","serializeNode","advanceActivatedRoute","currentSnapshot","nextSnapshot","shallowEqualArrays","equalParamsAndUrlSegments","equalUrlParams","parentsMismatch","createNode","routeReuseStrategy","prevState","shouldReuseRoute","createOrReuseChildren","retrieve","setFutureSnapshotsOfActivatedRoutes","commands","nav","Navigation","numberOfDoubleDots","isAbsolute","cmd","cmdIdx","outlets","outlets_1","segmentPath","urlPart","partIndex","computeNavigation","toRoot","startingPosition","Position","modifier","isMatrixParams","g","ci","createPositionApplyingDoubleDots","findStartingPosition","processChildren","updateSegmentGroupChildren","updateSegmentGroup","command","oldSegmentGroup","newSegmentGroup","qp","replaceSegment","oldSegment","newSegment","cmdWithOutlet","getPath","currentCommandIndex","currentPathIndex","pathIndex","commandIndex","compare","prefixedWith","slicedCommands","createNewSegmentGroup","outlets_2","getOutlets","createNewSegmentChildren","CanActivate","CanDeactivate","PreActivation","future","forwardEvent","canActivateChecks","canDeactivateChecks","initialize","parentContexts","futureRoot","currRoot","setupChildRouteGuards","checkGuards","isDeactivating","isActivating","canDeactivate$","runCanDeactivateChecks","canDeactivate","runCanActivateChecks","resolveData","checks$","runningChecks$","rxjs_operator_concatMap__WEBPACK_IMPORTED_MODULE_6__","runResolve","rxjs_operator_reduce__WEBPACK_IMPORTED_MODULE_19__","futureNode","currNode","contexts","futurePath","prevChildren","setupRouteGuards","deactivateRouteAndItsChildren","getContext","shouldRunGuardsAndResolvers","runGuardsAndResolvers","mode","childName","isActivated","runCanDeactivate","fireChildActivationStart","fireActivationStart","runCanActivateChild","runCanActivate","canActivate","observable","getToken","canActivateChildGuards","extractCanActivateChild","canActivateChild","resolveNode","resolvedData","key_1","getResolver","runningResolvers$","resolver","closestLoadedConfig","NoMatch$1","Recognizer","rootComponentType","recognize","split$1","processSegmentGroup","freeze","routeState","inheritParamsAndData","routeNode","processSegment","names","routeWithSameOutletName","sort","localeCompare","sortActivatedRouteSnapshots","config_1","processSegmentAgainstRoute","rawSegment","getData","getSourceSegmentGroup","getPathIndexShift","getResolve","match$1","_sourceSegment","_segmentIndexShift","emptyPathMatch","getOutlet$1","containsEmptyPathMatchesWithNamedOutlets","s_1","primarySegment","createChildrenForEmptyPaths","containsEmptyPathMatches","s_2","addEmptyPathsToChildrenIfNeeded","RouteReuseStrategy","DefaultRouteReuseStrategy","shouldDetach","store","detachedTree","shouldAttach","ROUTES","RouterConfigLoader","loader","compiler","onLoadStartListener","onLoadEndListener","moduleFactory$","loadModuleFactory","UrlHandlingStrategy","DefaultUrlHandlingStrategy","shouldProcessUrl","extract","merge","newUrlPart","wholeUrl","defaultErrorHandler","defaultRouterHook","rootContexts","navigations","navigationId","navigated","hooks","beforePreactivation","afterPreactivation","urlHandlingStrategy","onSameUrlNavigation","resetConfig","currentUrlTree","rawUrlTree","triggerEvent","routerState","processNavigations","resetRootComponentType","initialNavigation","setUpLocationChangeListener","navigateByUrl","replaceUrl","locationSubscription","scheduleNavigation","serializeUrl","navigationExtras","relativeTo","preserveQueryParams","queryParamsHandling","preserveFragment","q","removeEmptyProps","extras","skipLocationChange","parseUrl","mergedTree","navigate","validateCommands","isActive","executeScheduledNavigation","promise","rawUrl","lastNavigation","urlTransition","runNavigate","precreatedState","resolvePromise","rejectPromise","urlAndSnapshot$","appliedUrl","redirectsApplied$","applyRedirects","preActivation","navigationIsSuccessful","beforePreactivationDone$","preactivationSetup$","evt","preactivationCheckGuards$","preactivationResolveData$","preactivationDone$","routerState$","storedState","storedUrl","ActivateRoutes","activate","resetUrlToCurrentUrlTree","resetStateAndUrl","ee","futureState","currState","deactivateChildRoutes","activateChildRoutes","futureChild","childOutletName","deactivateRoutes","parentContext","detachAndStoreRouteSubtree","deactivateRouteAndOutlet","onOutletDeactivated","contexts_1","deactivate","activateRoutes","getOrCreateContext","stored","onOutletReAttached","attachRef","attach","advanceActivatedRouteNodeAndItsChildren","parentLoadedConfig","cmpFactoryResolver","activateWith","RouterLink","tabIndex","preserve","onClick","attrBoolValue","routerLink","RouterLinkWithHref","locationStrategy","updateTargetUrlAndHref","button","ctrlKey","metaKey","shiftKey","_angular_common__WEBPACK_IMPORTED_MODULE_0__","RouterLinkActive","cdr","routerLinkActiveOptions","update","links","linksWithHrefs","hasActiveLinks","isLinkActive","link","exportAs","routerLinkActive","OutletContext","ChildrenOutletContexts","onChildOutletCreated","onChildOutletDestroyed","RouterOutlet","changeDetector","_activatedRoute","activateEvents","deactivateEvents","cmp","activatedRoute","childContexts","OutletInjector","PreloadingStrategy","PreloadAllModules","preload","NoPreloading","RouterPreloader","moduleLoader","preloadingStrategy","setUpPreloading","navigations$","processRoutes","preloadConfig","loaded$","ROUTER_DIRECTIVES","ROUTER_CONFIGURATION","ROUTER_FORROOT_GUARD","ROUTER_PROVIDERS","setupRouter","rootRoute","enableTracing","routerNgProbeToken","RouterModule","provideRoutes","provideForRootGuard","provideLocationStrategy","provideRouterInitializer","forChild","platformLocationStrategy","useHash","dom_1","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_20__","logGroup","logGroupEnd","RouterInitializer","initNavigation","resultOfPreactivationDone","appInitializer","isLegacyDisabled","isLegacyEnabled","bootstrapListener","bootstrappedComponentRef","preloader","getAppInitializer","getBootstrapListener","ROUTER_INITIALIZER","isObject","it","TypeError","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__","AbstractControlDirective","control","valid","invalid","pending","disabled","errors","pristine","touched","status","untouched","statusChanges","valueChanges","hasError","errorCode","getError","ControlContainer","isEmptyInputValue","NG_VALIDATORS","NG_ASYNC_VALIDATORS","EMAIL_REGEXP","Validators","required","requiredTrue","email","minLength","minlength","requiredLength","actualLength","maxLength","maxlength","regexStr","regex","requiredPattern","actualValue","nullValidator","compose","validators","presentValidators","isPresent","_mergeErrors","_executeValidators","composeAsync","_executeAsyncValidators","toObservable","rxjs_operator_map__WEBPACK_IMPORTED_MODULE_4__","rxjs_observable_forkJoin__WEBPACK_IMPORTED_MODULE_2__","rxjs_observable_fromPromise__WEBPACK_IMPORTED_MODULE_3__","arrayOfErrors","NG_VALUE_ACCESSOR","CHECKBOX_VALUE_ACCESSOR","CheckboxControlValueAccessor","_elementRef","onChange","onTouched","writeValue","registerOnChange","registerOnTouched","setDisabledState","isDisabled","(change)","(blur)","DEFAULT_VALUE_ACCESSOR","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","_compositionMode","userAgent","_composing","getUserAgent","normalizedValue","_handleInput","_compositionStart","_compositionEnd","(input)","(compositionstart)","(compositionend)","normalizeValidator","validator","validate","normalizeAsyncValidator","NUMBER_VALUE_ACCESSOR","NumberValueAccessor","unimplemented","NgControl","valueAccessor","_rawValidators","_rawAsyncValidators","RADIO_VALUE_ACCESSOR","RadioControlValueAccessor","RadioControlRegistry","_accessors","accessor","select","_isSameGroup","fireUncheck","controlPair","_control","_registry","_checkName","_state","_fn","formControlName","_throwNameError","RANGE_VALUE_ACCESSOR","RangeValueAccessor","SELECT_VALUE_ACCESSOR","SelectControlValueAccessor","_buildValueString","_optionMap","_idCounter","_compareWith","_getOptionId","valueString","_getOptionValue","_registerOption","_extractId","compareWith","NgSelectOption","_element","_select","_setElementValue","ngValue","SELECT_MULTIPLE_VALUE_ACCESSOR","SelectMultipleControlValueAccessor","_buildValueString$1","optionSelectedStateSetter","ids_1","_setSelected","selected","selectedOptions","_value","_extractId$1","NgSelectMultipleOption","controlPath","setUpControl","asyncValidator","_pendingValue","_pendingChange","_pendingDirty","updateOn","updateControl","setUpViewChangePipeline","emitModelEvent","viewToModelUpdate","setUpModelChangePipeline","_pendingTouched","markAsTouched","setUpBlurPipeline","registerOnDisabledChange","registerOnValidatorChange","updateValueAndValidity","markAsDirty","emitModelToViewChange","setUpFormContainer","_noControlError","messageEnd","composeValidators","composeAsyncValidators","isPropertyUpdated","viewModel","BUILTIN_ACCESSORS","syncPendingControls","directives","_syncPendingControls","selectValueAccessor","valueAccessors","defaultAccessor","builtinAccessor","customAccessor","removeDir","AbstractFormGroupDirective","_checkParentType","addFormGroup","formDirective","removeFormGroup","getFormGroup","_validators","_asyncValidators","AbstractControlStatus","cd","_cd","ngControlStatusHost","[class.ng-untouched]","[class.ng-touched]","[class.ng-pristine]","[class.ng-dirty]","[class.ng-valid]","[class.ng-invalid]","[class.ng-pending]","NgControlStatus","NgControlStatusGroup","coerceToValidator","validatorOrOpts","isOptionsObj","coerceToAsyncValidator","origAsyncValidator","asyncValidators","AbstractControl","_onCollectionChange","_onDisabledChange","_updateOn","setValidators","newValidator","setAsyncValidators","clearValidators","clearAsyncValidators","onlySelf","markAsUntouched","_forEachChild","_updateTouched","markAsPristine","_updatePristine","markAsPending","disable","_updateValue","emitEvent","_updateAncestors","changeFn","enable","setParent","_setInitialStatus","_cancelExistingSubscription","_runValidator","_calculateStatus","_runAsyncValidator","_updateTreeValidity","ctrl","_allControlsDisabled","_asyncValidationSubscription","setErrors","_updateControlsErrors","delimiter","FormGroup","controls","FormArray","at","_find","x","_initObservables","_anyControlsHaveStatus","_anyControls","_anyControlsDirty","_anyControlsTouched","_isBoxedValue","formState","_registerOnCollectionChange","_setUpdateStrategy","FormControl","_onChange","_applyFormState","emitViewToModelChange","patchValue","_clearChangeFns","cb","_setUpControls","registerControl","addControl","removeControl","setControl","contains","controlName","_checkAllValuesPresent","_throwIfControlMissing","getRawValue","_reduceChildren","acc","subtreeUpdated","updated","_reduceValue","initValue","_registerControl","removeAt","formDirectiveProvider","NgForm","resolvedPromise","submitted","_directives","ngSubmit","_findContainer","getControl","updateModel","onSubmit","$event","onReset","resetForm","(submit)","(reset)","FormErrorExamples","TemplateDrivenErrors","modelParentException","formGroupNameException","missingNameException","modelGroupParentException","modelGroupProvider","NgModelGroup","formControlBinding","NgModel","resolvedPromise$1","_registered","_checkForErrors","_setUpControl","_updateDisabled","model","_isStandalone","_setUpStandalone","standalone","disabledValue","ReactiveErrors","controlParentException","ngModelGroupException","missingFormException","groupParentException","arrayParentException","disabledAttrWarning","formControlBinding$1","FormControlDirective","_isControlChanged","formDirectiveProvider$1","FormGroupDirective","_checkFormPresent","_updateValidators","_updateDomValue","_updateRegistrations","addFormArray","removeFormArray","getFormArray","newCtrl","cleanUpControl","_oldForm","sync","formGroupNameProvider","FormGroupName","_hasInvalidParent","formArrayNameProvider","FormArrayName","controlNameBinding","FormControlName","_added","REQUIRED_VALIDATOR","RequiredValidator","CHECKBOX_REQUIRED_VALIDATOR","CheckboxRequiredValidator","_required","[attr.required]","EMAIL_VALIDATOR","EmailValidator","_enabled","MIN_LENGTH_VALIDATOR","MinLengthValidator","_createValidator","_validator","[attr.minlength]","MAX_LENGTH_VALIDATOR","MaxLengthValidator","[attr.maxlength]","PATTERN_VALIDATOR","PatternValidator","[attr.pattern]","FormBuilder","controlsConfig","extra","_reduceControls","array","_createControl","controlConfig","NgNoValidate","novalidate","SHARED_FORM_DIRECTIVES","TEMPLATE_DRIVEN_DIRECTIVES","REACTIVE_DRIVEN_DIRECTIVES","InternalFormsSharedModule","FormsModule","ReactiveFormsModule","__webpack_exports__","ɵPRE_STYLE","AnimationBuilder","AnimationFactory","trigger","sequence","keyframes","transition","animateChild","useAnimation","stagger","NoopAnimationPlayer","_onDoneFns","_onStartFns","_onDestroyFns","_started","_finished","parentPlayer","totalTime","_onFinish","onStart","onDone","hasStarted","play","_onStart","triggerMicrotask","pause","restart","finish","setPosition","getPosition","triggerCallback","phaseName","AnimationGroupPlayer","_players","players","doneCount","destroyCount","startCount","total","player","_onDestroy","timeAtPosition","position","beforeDestroy","__g","uid","Symbol","USE_SYMBOL","anObject","IE8_DOM_DEFINE","toPrimitive","dP","O","Attributes","usePureJavaScript","toInteger","ArrayObservable_1","of","ArrayObservable","process","setImmediate","forge","util","_checkBitsParam","ByteStringBuffer","read","isArrayBuffer","isArrayBufferView","Uint8Array","putByte","_constructedStringLength","nextTick","postMessage","callbacks","addEventListener","stopPropagation","copy","MutationObserver","now","observe","oldSetImmediate","isNodejs","versions","ArrayBuffer","buffer","byteLength","ByteBuffer","_optimizeConstructedString","putBytes","fillWithByte","bytes","putString","encodeUtf8","putInt16","putInt24","putInt32","putInt16Le","putInt24Le","putInt32Le","putInt","putSignedInt","putBuffer","getBytes","getByte","charCodeAt","getInt16","rval","getInt24","getInt32","getInt16Le","getInt24Le","getInt32Le","getInt","getSignedInt","setAt","createBuffer","compact","truncate","toHex","decodeUtf8","DataBuffer","readOffset","growSize","DataView","byteOffset","write","writeOffset","accommodate","amount","src","setUint8","encoding","binary","hex","base64","raw","Uint16Array","utf16","setInt16","setInt8","setInt32","getInt8","getUint8","utf8","input","fillString","xorBytes","s1","s2","s3","hexToBytes","bytesToHex","int32ToBytes","_base64","_base64Idx","encode64","maxline","chr1","chr2","chr3","line","decode64","enc1","enc2","enc3","enc4","unescape","escape","subarray","deflate","api","inflate","_setStorageObject","removeItem","setItem","_getStorageObject","getItem","_setItem","_getItem","_removeItem","empty","_clearItems","_callStorageFunction","func","exception","localStorage","ex","clearItems","lastIndex","scheme","port","fullHost","_queryVariables","getQueryVariables","kvpairs","fp","fq","shift","pathString","queryString","makeRequest","reqString","frag","req","getQuery","getQueryLast","_default","vals","makeLink","jQuery","qstr","param","setPath","object","hasNext","deletePath","re","argi","number","dec_point","thousands_sep","toFixed","formatSize","bytesFromIP","ip","bytesFromIPv4","bytesFromIPv6","blanks","bytesToIP","bytesToIPv4","bytesToIPv6","zeroGroups","zeroMaxGroup","estimateCores","cores","navigator","hardwareConcurrency","Worker","Blob","blobUrl","createObjectURL","st","et","sample","samples","numWorkers","avg","revokeObjectURL","workers","results","worker","terminate","overlaps","r1","overlap","r2","map_1","project","thisArg","defined","fails","quot","createHTML","string","attribute","p1","NAME","IObject","SRC","$toString","TPL","inspectSource","safe","isFunction","_DOM","getDOM","setRootDomAdapter","adapter","nodeContains","DomAdapter","resourceLoaderType","_attrToPropMap","GenericBrowserDomAdapter","_animationPrefix","_transitionEnd","element_1","getStyle","domPrefixes","transEndEventNames_1","WebkitTransition","MozTransition","OTransition","getDistributedNodes","resolveAndSetHref","baseUrl","supportsDOMEvents","supportsNativeShadowDOM","createShadowRoot","getAnimationPrefix","getTransitionEnd","supportsAnimation","class","innerHtml","readonly","tabindex","_keyMap","\b","\t","","\u001b","Del","Esc","Left","Right","Up","Down","Menu","Scroll","Win","_chromeNumKeyPadMap","A","C","D","I","J","K","N","`","","compareDocumentPosition","urlParsingNode","BrowserDomAdapter","templateHtml","makeCurrent","getProperty","groupEnd","nodeA","nodeB","querySelector","querySelectorAll","on","onAndCancel","createMouseEvent","getDefaultDocument","createEvent","initEvent","preventDefault","isPrevented","defaultPrevented","getInnerHTML","innerHTML","getTemplateContent","isTemplateElement","content","getOuterHTML","outerHTML","nodeName","childNodesAsList","clearNodes","replaceChild","insertAllBefore","insertAfter","setInnerHTML","getText","getValue","getChecked","checked","setChecked","createTemplate","html","doc","createElementNS","createTextNode","createScriptTag","attrValue","createStyleElement","css","getShadowRoot","shadowRoot","getHost","clone","cloneNode","getElementsByClassName","getElementsByTagName","classList","hasClass","stylename","hasStyle","attributeMap","elAttrs","attrib","hasAttribute","hasAttributeNS","getAttribute","getAttributeNS","setAttributeNS","removeAttributeNS","templateAwareRoot","createHtmlDocument","implementation","createHTMLDocument","getBoundingClientRect","top","bottom","left","right","height","getTitle","setTitle","newTitle","elementMatches","isElementNode","msMatchesSelector","webkitMatchesSelector","isTextNode","nodeType","Node","TEXT_NODE","isCommentNode","COMMENT_NODE","ELEMENT_NODE","hasShadowRoot","HTMLElement","isShadowRoot","DocumentFragment","importIntoDoc","importNode","adoptNode","getHref","getEventKey","keyIdentifier","getGlobalEventTarget","getHistory","history","getLocation","baseElement","getBaseElementHref","relativePath","resetBaseElement","setData","getComputedStyle","supportsWebAnimation","performanceNow","performance","supportsCookies","getCookie","setCookie","DOCUMENT$1","supportsState","BrowserPlatformLocation","_doc","_init","_history","newPath","Meta","_dom","addTag","forceCreation","_getOrCreateElement","addTags","tags","getTag","attrSelector","getTags","updateTag","_parseSelector","_setMetaElementAttributes","removeTag","removeTagElement","_containsAttributes","head","TRANSITION_ID","appInitializerFactory","transitionId","dom","SERVER_TRANSITION_PROVIDERS","BrowserGetTestability","testabilities","didWork","decrement","didWork_","Title","exportNgVar","COMPILED","CORE_TOKENS","INSPECT_GLOBAL_NAME","CORE_TOKENS_GLOBAL_NAME","inspectNativeElement","_createNgProbe","coreTokens","ELEMENT_PROBE_PROVIDERS","EVENT_MANAGER_PLUGINS","EventManager","plugins","_eventNameToPlugin","manager","_plugins","handler","_findPluginFor","addGlobalEventListener","getZone","plugin","plugin_1","EventManagerPlugin","SharedStylesHost","_stylesSet","addStyles","additions","onStylesAdded","getAllStyles","DomSharedStylesHost","_hostNodes","_styleNodes","_addStylesToHost","styleEl","addHost","removeHost","styleNode","NAMESPACE_URIS","svg","xhtml","xlink","xml","xmlns","COMPONENT_REGEX","HOST_ATTR","CONTENT_ATTR","shimContentAttribute","componentShortId","shimHostAttribute","flattenStyles","compId","decoratePreventDefault","eventHandler","DomRendererFactory2","eventManager","sharedStylesHost","rendererByCompId","DefaultDomRenderer2","EmulatedEncapsulationDomRenderer2","applyToHost","ShadowDomRenderer","namespaceUri","checkNoSyntheticProp","AT_CHARCODE","nameKind","blackListedMap","contentAttr","hostAttr","hostEl","nodeOrShadowRoot","__symbol__","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","symbolNames","stopSymbol","blackListedEvents","isBlackListedEvent","globalListener","symbolName","taskDatas","taskData","copiedTasks","DomEventsPlugin","patchEvent","Event","stopImmediatePropagation","globalListenerRegistered","callbackRegistered","underlyingRemove","found","EVENT_NAMES","pan","panstart","panmove","panend","pancancel","panleft","panright","panup","pandown","pinch","pinchstart","pinchmove","pinchend","pinchcancel","pinchin","pinchout","press","pressup","rotate","rotatestart","rotatemove","rotateend","rotatecancel","swipe","swipeleft","swiperight","swipeup","swipedown","tap","HAMMER_GESTURE_CONFIG","HammerGestureConfig","overrides","buildHammer","mc","Hammer","HammerGesturesPlugin","isCustomEvent","off","MODIFIER_KEYS","MODIFIER_KEY_GETTERS","alt","altKey","KeyEventsPlugin","parseEventName","parsedEvent","outsideHandler","eventCallback","domEventName","_normalizeKey","fullKey","modifierName","getEventFullKey","modifierGetter","keyName","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeUrl","inertElement","DOM","tagSet","sets","sets_1","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","VALID_ATTRS","SanitizingHtmlSerializer","sanitizedSomething","buf","sanitizeChildren","startElement","chars","endElement","checkClobberedElement","srcset","lower","encodeEntities","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","stripCustomNsAttrs","sanitizeHtml","defaultDoc","unsafeHtmlInput","containerEl","templateEl","getInertElement","unsafeHtml","mXSSAttempts","parsedHtml","documentMode","safeHtml","SAFE_STYLE_VALUE","URL_RE","DomSanitizer","DomSanitizerImpl","SafeHtmlImpl","changingThisBreaksApplicationSecurity","checkNotSafeValue","SafeStyleImpl","urlMatch","outsideSingle","outsideDouble","hasBalancedQuotes","sanitizeStyle","SafeScriptImpl","SafeResourceUrlImpl","SafeUrlImpl","expectedType","SafeValueImpl","getTypeName","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","INTERNAL_BROWSER_PLATFORM_PROVIDERS","initDomAdapter","_document","BROWSER_SANITIZATION_PROVIDERS","platformBrowser","BrowserModule","withServerTransition","appId","win","ChangeDetectionPerfRecord","msPerTick","numTicks","AngularProfiler","timeChangeDetection","isProfilerAvailable","profile","PROFILER_GLOBAL_NAME","enableDebugTools","disableDebugTools","escapeHtml","escapedText","&","\"","'","<",">","makeStateKey","TransferState","onSerializeCallbacks","transferState","defaultValue","hasKey","onSerialize","toJson","initTransferState","unescapedText","script","getElementById","initialState","&a;","&q;","&s;","&l;","&g;","BrowserTransferStateModule","By","debugElement","root_1","toSubscriber_1","observable_1","pipe_1","Observable","_isScalar","lift","observerOrNext","sink","toSubscriber","syncErrorThrowable","_trySubscribe","syncErrorThrown","syncErrorValue","PromiseCtor","Rx","subscriber","operations","pipeFromArray","toPromise","createDesc","toObject","IE_PROTO","ObjectProto","arg","pIE","toIObject","gOPD","getOwnPropertyDescriptor","version","__e","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","that","KEY","aFunction","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","same","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","ArrayProto","$ArrayBuffer","$DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","arrayKeys","arrayEntries","entries","arrayLastIndexOf","arrayReduce","arrayReduceRight","arrayJoin","arraySort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","FORCED_SET","strictToLength","SAME","toOffset","BYTES","speciesFromList","fromList","addGetter","$from","step","aLen","mapfn","iterFn","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","findIndex","searchElement","includes","separator","middle","comparefn","$begin","BYTES_PER_ELEMENT","$slice","$set","arrayLike","$iterators","isTAIndex","$getDesc","$setDesc","writable","$TypedArrayPrototype$","wrapper","CLAMPED","ISNT_UINT8","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","$offset","$length","$len","l","iter","$nativeIterator","CORRECT_ITER_NAME","$iterator","bitmap","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","contentWindow","open","lt","close","Properties","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","NEED","fastKey","getWeak","onFreeze","isFunction_1","Subscription_1","Observer_1","rxSubscriber_1","Subscriber","destinationOrNext","isStopped","destination","SafeSubscriber","rxSubscriber","_error","_complete","closed","_unsubscribeAndRecycle","_parents","Subscription","_parentSubscriber","__tryOrSetError","__tryOrUnsub","wrappedComplete","_unsubscribe","optimizeGroupPlayer","_angular_animations__WEBPACK_IMPORTED_MODULE_0__","normalizeKeyframes","driver","normalizer","preStyles","postStyles","normalizedKeyframes","previousOffset","previousKeyframe","kf","isSameOffset","normalizedKeyframe","normalizedProp","normalizePropertyName","normalizeStyleValue","listenOnPlayer","copyAnimationEvent","makeAnimationEvent","triggerName","fromState","toState","getOrSetAsInMap","parseTimelineCommand","separatorPos","_contains","elm1","elm2","_matches","_query","Element","fn_1","matchesSelector","mozMatchesSelector","oMatchesSelector","elm","_CACHED_BODY","_IS_WEBKIT","validateStyleProperty","getBodyNode","containsVendorPrefix","matchesElement","containsElement","invokeQuery","NoopAnimationDriver","computeStyle","duration","easing","previousPlayers","AnimationDriver","ONE_SECOND","NG_TRIGGER_SELECTOR","NG_ANIMATING_SELECTOR","resolveTimingValue","_convertTimeValueToMS","resolveTiming","allowNegativeValues","delayMatch","easingVal","containsErrors","parseTimeExpression","copyObj","normalizeStyles","normalizedStyles","copyStyles","readPrototype","setStyles","camelProp","dashCaseToCamelCase","eraseStyles","normalizeAnimationEntry","PARAM_REGEX","SUBSTITUTION_EXPR_START","extractStyleParams","interpolateParams","original","varName","localVal","iteratorToArray","DASH_CASE_REGEXP","visitDslNode","visitor","visitTrigger","visitState","visitTransition","visitSequence","visitGroup","visitAnimate","visitKeyframes","visitStyle","visitReference","visitAnimateChild","visitAnimateRef","visitQuery","visitStagger","ANY_STATE","parseTransitionExpr","transitionValue","expressions","eventStr","alias","parseAnimationAlias","makeLambdaFromStates","isFullAnyStateExpr","parseInnerTransitionStr","TRUE_BOOLEAN_VALUES","FALSE_BOOLEAN_VALUES","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN","SELF_TOKEN_REGEX","buildAnimationAst","AnimationAstBuilderVisitor","build","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","queryCount","depCount","states","transitions","stateDef_1","styleAst","astParams","containsDynamicStyles","missingSubs_1","stylesObj_1","sub","missingSubsArr","matchers","normalizeAnimationOptions","furthestTime","innerAst","timingAst","makeTimingAst","strValue","ast","dynamic","constructTimingAst","currentAnimateTimings","styleMetadata","styleMetadata_1","newStyleData","_styleAst","isEmptyStep","_makeStyleAst","_validateStyleAst","styleTuple","collectedEasing","styleData","styleMap","endTime","startTime","collectedEntry","updateCollectedStyle","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","offsetVal","consumeOffset","generatedOffset","limit","animateDuration","durationUpToThisFrame","parentSelector","hasAmpersand","normalizeSelector","includeSelf","originalSelector","currentTransition","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","_map","consume","instructions","append","existingInstructions","ENTER_TOKEN_REGEX","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","AnimationTimelineContext","currentTimeline","timelines","timeline","containsAnimation","tl","allowOnlyTimelineStyles","elementInstructions","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","previousNode","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","delayNextStep","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","_visitTiming","incrementTime","getCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","currentQueryIndex","maxTime","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate_1","_copyOptions","oldParams_1","newTime","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","elements","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_localTimelineStyles","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","_updateStyle","allStyles","allProperties","getFinalKeyframe","details0","details1","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","timeAtKeyframe","decimalPoints","mult","pow","Animation","errorMessage","_animationAst","buildTimelines","destinationStyles","dest","AnimationStyleNormalizer","NoopAnimationStyleNormalizer","userProvidedProperty","normalizedProperty","WebAnimationsStyleNormalizer","strVal","DIMENSIONAL_PROP_MAP","valAndSuffixMatch","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","matchFns","oneOrMoreTransitionsMatch","buildStyles","stateName","backupStateStyler","stateStyler","backupStyles","currentOptions","nextOptions","transitionAnimationParams","currentAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","queriedElementsList","AnimationStateStyles","defaultParams","combinedParams","styleObj_1","AnimationTrigger","transitionFactories","balanceProperties","fallbackTransition","matchTransition","matchStyles","key1","key2","EMPTY_INSTRUCTION_MAP","TimelineAnimationEngine","_normalizer","_animations","_playersById","register","_buildPlayer","autoStylesMap","inst","_getPlayer","baseEvent","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","hasAnimation","removedBeforeQueried","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","isObj","normalizeTriggerValue","absorbOptions","DEFAULT_STATE_VALUE","DELETED_STATE_VALUE","AnimationTransitionNamespace","_engine","_triggers","_queue","_elementListeners","_hostClassName","phase","triggersWithStates","statesByElement","NG_TRIGGER_CLASSNAME","afterFlush","_getTrigger","defaultToFallback","TransitionAnimationPlayer","playersOnElement","playersByElement","queued","isFallbackTransition","totalQueuedPlayers","objEquals","fromStyles_1","toStyles_1","reportError","deregister","stateMap","entry","clearElementCache","elementPlayers","_signalRemovalForInnerTriggers","namespaces","fetchNamespacesByElement","triggerLeaveAnimation","destroyAfterComplete","triggerStates","players_1","markElementAsRemoved","processLeaveNode","prepareLeaveAnimationListeners","visitedTriggers_1","removeNode","engine","childElementCount","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","destroyInnerAnimations","_onRemovalComplete","insertNode","drainQueuedTransitions","microtaskId","markedForDestroy","d0","d1","elementContainsData","containsData","TransitionAnimationEngine","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","onRemovalComplete","createNamespace","_balanceNamespaceList","collectEnterElement","nextNamespace","registerTrigger","_fetchNamespace","afterFlushAnimationsDone","elementStates","nsId","details","markElementAsDisabled","_buildInstruction","subTimelines","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","flush","cleanupFns","_flushAnimations","quietFns_1","skippedPlayers","skippedPlayersMap","queuedInstructions","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","bodyNode","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","i_2","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","i_3","stringMap","setVal_1","setVal","errors_1","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","post","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","parentWithAnimation_1","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","playersForElement","syncPlayerEvents","i_4","queriedPlayerResults","queriedInnerElements","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation_1","targetNameSpaceId","targetTriggerName","_loop_1","timelineInstruction","this_1","realPlayer","getRealPlayer","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","finalPlayers","_flattenGroupPlayersRecur","pp","wrappedPlayer","currentValues","deleteOrUnsetInMap","_player","_containsRealPlayer","_queuedCallbacks","_queueEvent","cloakElement","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","roots","rootMap","NULL_NODE","nodeSet","localRootMap","getRoot","CLASSES_CACHE_KEY","postEntry","preEntry","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","buildTrigger","onInsert","onRemove","disableAnimations","property","eventPhase","WebAnimationsPlayer","_initialized","previousStyles","_duration","_delay","_preparePlayerBeforeStart","previousStyleProps","startingKeyframe_1","missingStyleProps_1","self_1","_computeStyle","domPlayer","_triggerWebAnimation","_finalKeyframe","_resetDomPlayerState","cancel","WebAnimationsDriver","playerOptions","previousWebAnimationPlayers","supportsWebAnimations","mergeMap_1","mergeMap","resultSelector","concurrent","POSITIVE_INFINITY","$keys","hiddenKeys","px","Constructor","forbiddenField","DESCRIPTORS","SPECIES","BREAK","RETURN","stat","Subject_1","ObjectUnsubscribedError_1","thrownError","ObjectUnsubscribedError","Subject","UNSCOPABLES","cof","ARG","T","tryGet","callee","FromObservable_1","FromObservable","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","propertyIsEnumerable","Observable_1","Subscriber_1","SubjectSubscription_1","SubjectSubscriber","observers","subject","AnonymousSubject","SubjectSubscription","asObservable","prng_aes","_prng_aes_output","_prng_aes_buffer","spawnPrng","prng","generate","getBytesSync","formatKey","tmp","aes","_expandKey","formatSeed","seed","cipher","_updateBlock","increment","md","sha256","_ctx","getRandomValues","_crypto","crypto","msCrypto","collectInt","_navBytes","collect","mousemove","clientX","clientY","keypress","charCode","createInstance","eval","algorithms","asn1","_checkBufferLength","available","requested","Class","UNIVERSAL","APPLICATION","CONTEXT_SPECIFIC","PRIVATE","BOOLEAN","INTEGER","BITSTRING","OCTETSTRING","OID","ODESC","EXTERNAL","REAL","ENUMERATED","EMBEDDED","UTF8","ROID","SEQUENCE","SET","PRINTABLESTRING","IA5STRING","UTCTIME","GENERALIZEDTIME","BMPSTRING","tagClass","constructed","composed","bitStringContents","excludeBitStringContents","equals","obj1","obj2","equal","includeBitStringContents","getBerValueLength","b2","_getValueLength","longFormBytes","fromDer","strict","decodeBitStrings","_fromDer","depth","b1","savedRead","savedRemaining","unused","subOptions","verbose","used","tc","asn1Options","toDer","useBitStringContents","lenBytes","oidToDer","oid","valueBytes","derToOid","utcTimeToDate","utc","DD","setTime","generalizedTimeToDate","gentime","YYYY","fff","isUTC","dateToUtcTime","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","dateToGeneralizedTime","integerToDer","derToInteger","captureAsn1","captureBitStringContents","captureBitStringValue","_nonLatinRegex","prettyPrint","level","indentation","indent","IA5String","subvalues","pki","oids","Typed","TypedArrayConstructors","forOf","setToStringTag","inheritIfRequired","IS_WEAK","ADDER","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","getConstructor","setStrong","SYMBOL","fns","strfn","rxfn","SAFE_CLOSING","riter","skipClosing","getIteratorMethod","getOwnPropertySymbols","ignoreCase","multiline","unicode","sticky","MATCH","isRegExp","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","IS_INCLUDES","fromIndex","_IN","_I_","registerAlgorithm","Algorithm","startEncrypting","iv","_createCipher","decrypt","createEncryptionCipher","startDecrypting","createDecryptionCipher","blockSize","encrypt","inBlock","outBlock","_w","encryptOp","modes","ecb","cbc","cfb","ofb","ctr","gcm","sbox","isbox","rcon","mix","imix","Nb","xtime","e2","e4","e8","sx","sx2","me","ime","ei","temp","iNk","Nk","m0","m1","m2","m3","wnew","wi","Nr","algorithm","createDecipher","createCipher","BaseBuffer","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","unpackI32","packI8","packI16","packI32","packF64","packF32","isLittleEndian","numIndex","intIndex","pack","conversion","validateArrayBufferArguments","numberLength","ArrayBufferProto","$setInt8","bufferLength","getUint16","getUint32","getFloat32","getFloat64","setUint16","setUint32","setFloat32","setFloat64","endPos","searchString","descriptor","$expm1","expm1","sign","un","buggy","documentElement","is","ToasterContainerComponent","toasterService","toasts","registerSubscribers","toasterconfig","_toaster_config__WEBPACK_IMPORTED_MODULE_2__","click","isCloseButton","tapToDismiss","showCloseButton","clickHandler","childClick","stopTimer","mouseoverTimerStop","timeoutId","clearTimeout","restartTimer","configureTimer","addToastSubscriber","clearToastsSubscriber","toasterConfig","defaultTypeClass","preventDuplicates","closeHtml","bodyOutputType","newestOnTop","isLimitExceeded","onShowCallback","timeout","onHideCallback","removeAllToasts","clearToastsAction","_angular_animations__WEBPACK_IMPORTED_MODULE_1__","opacity","_toaster_service__WEBPACK_IMPORTED_MODULE_3__","ToastComponent","_bodyOutputType__WEBPACK_IMPORTED_MODULE_2__","clickEvent","safeCloseHtml","componentBody","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__","iconClass","pem","foldHeader","header","insertSpace","$1","candidate","procType","contentDomain","dekInfo","headers","rMessage","rHeader","rCRLF","lines","li","nl","vi","isArray_1","isObject_1","tryCatch_1","errorObject_1","UnsubscriptionError_1","_subscriptions","hasErrors","tryCatch","errorObject","UnsubscriptionError","flattenUnsubscriptionErrors","teardown","_addParent","subscriptions","subscriptionIndex","errs","defer","channel","cel","setTask","clearTask","clearImmediate","MessageChannel","counter","queue","port2","port1","onmessage","importScripts","addToUnscopables","iterated","_t","_k","Arguments","$defineProperty","TO_STRING","getKeys","gOPS","$assign","getSymbols","isEnum","BodyOutputType","PromiseObservable_1","fromPromise","PromiseObservable","catchError_1","_catch","catchError","sha1","_padding","_input","blockLength","digestLength","messageLength","fullMessageLength","messageLengthSize","messageLength64","int32s","h0","h1","h2","h3","h4","_update","digest","finalBlock","overflow","bits","hmac","_key","_md","_ipadding","_opadding","keylen","getMac","Reflect","ownKeys","$has","uncaughtFrozenStore","_l","UncaughtFrozenStore","findUncaughtFrozen","ufstore","InternalMap","each","weak","$WeakMap","_f","strong","$iterDefine","SIZE","getEntry","macrotask","Observer","WebKitMutationObserver","isNode","domain","exit","enter","toggle","characterData","to","inc","memo","isRight","log1p","$parseFloat","$trim","$parseInt","ws","radix","partArgs","bound","construct","windowNames","getWindowNames","defineProperties","wksExt","$Symbol","every_1","first_1","concatMap_1","concatMap","BigInteger","jsbn","rsa","GCD_30_DELTA","privateKeyValidator","rsaPrivateKeyValidator","rsaPublicKeyValidator","publicKeyValidator","emsaPkcs1v15encode","oidBytes","digestInfo","digestAlgorithm","_modPow","pub","modPow","mod","subtract","ONE","dQ","qInv","modInverse","bitLength","compareTo","gcd","xp","multiply","xq","_encodePkcs1_v1_5","bt","eb","padByte","padNum","numZeros","padBytes","_decodePkcs1_v1_5","em","ml","_bnToBytes","_getMillerRabinTests","_detectSubtleCrypto","subtle","_detectSubtleMsCrypto","_intToUint8Array","yhex","ed","xhex","createKeyPairGenerationState","rng","nextBytes","eInt","qBits","pBits","pqState","fromInt","stepKeyPairGenerationState","THIRTY","t2","deltaIdx","op_or","t1","bits1","testBit","bitwiseTo","shiftLeft","dAddOffset","byteValue","isProbablePrime","q1","phi","privateKey","setPrivateKey","publicKey","setPublicKey","generateKeyPair","generateKey","modulusLength","publicExponent","pair","exportKey","pkcs8","privateKeyFromAsn1","setRsaPublicKey","genOp","oncomplete","exportOp","onerror","workLoad","workerScript","getPrime","prime","generateProbablePrime","_generateKeyPair","schemeOptions","pkcs1","encode_rsa_oaep","verify","setRsaPrivateKey","decode_rsa_oaep","wrapRsaPrivateKey","rsaKey","rsaEncryption","privateKeyModulus","privateKeyPublicExponent","privateKeyPrivateExponent","privateKeyPrime1","privateKeyPrime2","privateKeyExponent1","privateKeyExponent2","privateKeyCoefficient","privateKeyToAsn1","privateKeyToRSAPrivateKey","publicKeyFromAsn1","publicKeyOid","rsaPublicKey","publicKeyModulus","publicKeyExponent","publicKeyToAsn1","publicKeyToSubjectPublicKeyInfo","publicKeyToRSAPublicKey","des","_keys","pc2bytes0","pc2bytes1","pc2bytes2","pc2bytes3","pc2bytes4","pc2bytes5","pc2bytes6","pc2bytes7","pc2bytes8","pc2bytes9","pc2bytes10","pc2bytes11","pc2bytes12","pc2bytes13","iterations","shifts","lefttmp","righttmp","_createKeys","spfunction1","spfunction2","spfunction3","spfunction4","spfunction5","spfunction6","spfunction7","spfunction8","looping","endloop","loopinc","right1","right2","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","Item","browser","env","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","__defineSetter__","__WEBPACK_AMD_DEFINE_RESULT__","noGlobal","getProto","class2type","hasOwn","fnToString","ObjectFunctionString","support","isWindow","preservedScriptAttributes","noModule","DOMEval","toType","isArrayLike","jquery","pushStack","elems","prevObject","eq","copyIsArray","deep","isPlainObject","expando","isReady","Ctor","isEmptyObject","globalEval","makeArray","inArray","second","grep","invert","callbackExpect","guid","Sizzle","Expr","isXML","tokenize","compile","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","sortOrder","push_native","booleans","whitespace","pseudos","rwhitespace","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escaped","escapedWhitespace","high","rcssescape","fcssescape","asCodePoint","unloadHandler","disabledAncestor","addCombinator","els","nid","newSelector","newContext","ownerDocument","qsa","toSelector","testContext","qsaError","cache","cacheLength","markFunction","assert","addHandle","attrHandle","siblingCheck","cur","sourceIndex","createInputPseudo","createButtonPseudo","createDisabledPseudo","createPositionalPseudo","argument","matchIndexes","hasCompare","subWindow","defaultView","attachEvent","getById","getElementsByName","attrId","getAttributeNode","disconnectedMatch","adown","bup","sortDetached","aup","ap","bp","specified","sel","uniqueSort","detectDuplicates","sortStable","selectors","createPseudo","relative"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","what","simple","ofType","uniqueCache","outerCache","useCache","uniqueID","pseudo","setFilters","not","unmatched","innerText","lang","elemLang","focus","activeElement","hasFocus","selectedIndex","odd","gt","radio","checkbox","file","password","image","submit","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","condense","newUnmatched","setMatcher","postFilter","postFinder","postSelector","preMap","postMap","preexisting","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","compiled","unique","isXMLDoc","escapeSelector","until","rneedsContext","rsingleTag","winnow","qualifier","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","contents","targets","closest","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","Identity","Thrower","adoptValue","noValue","fail","Callbacks","flag","createOptions","firing","memory","fired","locked","firingIndex","fire","stopOnFalse","lock","fireWith","Deferred","tuples","always","deferred","newDefer","returned","progress","onFulfilled","onRejected","onProgress","maxDepth","special","mightThrow","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","when","singleValue","resolveContexts","resolveValues","master","updateFunc","rerrorNames","readyException","readyList","completed","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","bulk","rmsPrefix","rdashAlpha","fcamelCase","letter","camelCase","acceptData","owner","Data","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","removeData","_removeData","dequeue","startLength","_queueHooks","stop","clearQueue","pnum","rcssNum","cssExpand","isHiddenWithinTree","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","initial","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","show","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","setGlobalEval","refElements","optgroup","tbody","tfoot","colgroup","caption","th","rhtml","buildFragment","scripts","selection","ignored","createDocumentFragment","htmlPrefilter","checkClone","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","types","one","origFn","handleObjIn","eventHandle","handleObj","handlers","origType","elemData","handle","triggered","dispatch","delegateType","bindType","delegateCount","mappedTypes","origCount","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","originalEvent","noBubble","blur","beforeunload","isDefaultPrevented","relatedTarget","timeStamp","isSimulated","bubbles","cancelable","changedTouches","detail","pageX","pageY","char","keyCode","buttons","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","pdataOld","pdataCur","udataOld","udataCur","domManip","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","prepend","after","replaceWith","appendTo","prependTo","replaceAll","rnumnonpx","getStyles","opener","rboxStyle","curCSS","computed","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","measure","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","rdisplayswap","rcustomProp","cssShow","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","finalPropName","cssProps","capName","vendorPropName","setPositiveNumber","boxModelAdjustment","dimension","box","isBorderBox","computedVal","delta","getWidthOrHeight","valueIsBorderBox","Tween","cssHooks","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","getClientRects","margin","padding","border","expand","expanded","propHooks","percent","eased","fx","scrollTop","scrollLeft","linear","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","createFxNow","genFx","includeWidth","createTween","tweeners","stopped","prefilters","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflowX","overflowY","prefilter","speed","speeds","fadeTo","optall","doAnimation","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","for","curValue","clazz","finalValue","toggleClass","stateVal","isValidValue","classNames","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rsubmitterTypes","rsubmittable","buildParams","traditional","valueOrFunction","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","isLocal","protocol","processData","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","abort","statusText","finalText","crossDomain","hasContent","ifModified","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","username","xhrFields","onload","onabort","ontimeout","onreadystatechange","responseType","responseText","text script","charset","scriptCharset","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","rect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","unbind","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","_jQuery","_$","$","noConflict","EmptyObservable","scheduler","EmptyError","ToasterConfig","configOverrides","typeClasses","info","warning","iconClasses","_bodyOutputType__WEBPACK_IMPORTED_MODULE_0__","bodyTemplate","positionClass","titleClass","messageClass","pss","mgf","saltLength","sLen","hLen","salt_","salt","pssobj","modBits","emBits","emLen","mHash","m_","ps","db","maskLen","dbMask","maskedDB","mask","checkLen","_shortNames","x509CertificateValidator","rsassaPssParameterValidator","certificationRequestInfoValidator","certificationRequestValidator","_getAttribute","shortName","RDNAttributesAsArray","rdn","si","valueTagClass","CRIAttributesAsArray","seq","extensionRequest","extensions","certificateExtensionFromAsn1","_readSignatureParameters","fillDefaults","algorithmOid","hashOid","maskGenOid","maskGenHashOid","_dnToAsn1","_fillMissingFields","valueConstructed","certificateExtensionToAsn1","_fillMissingExtensionFields","extension","b3","digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly","cA","pathLenConstraint","client","server","objsign","reserved","sslCA","emailCA","objCA","altNames","altName","cert","ski","generateSubjectKeyIdentifier","subjectKeyIdentifier","authorityCertIssuer","issuer","serialNumber","subSeq","fullNameGeneralNames","_signatureParametersToAsn1","certificateFromPem","computeHash","headerType","certificateFromAsn1","certificateToPem","certificateToAsn1","publicKeyFromPem","publicKeyToPem","publicKeyToRSAPublicKeyPem","getPublicKeyFingerprint","certificationRequestFromPem","certificationRequestFromAsn1","certificationRequestToPem","csr","certificationRequestToAsn1","createCertificate","signatureOid","siginfo","validity","notBefore","notAfter","getField","sn","addField","setSubject","uniqueId","setIssuer","setExtensions","exts","getExtension","ext","tbsCertificate","getTBSCertificate","issued","expectedIssuer","actualIssuer","md5","sha512","sha1WithRSAEncryption","signatureParameters","isIssuer","iattr","sattr","verifySubjectKeyIdentifier","certVersion","serial","certSerialNumber","certSignatureOid","certSignatureParams","certinfoSignatureOid","certinfoSignatureParams","certSignature","certValidity1UTCTime","certValidity2GeneralizedTime","certValidity3UTCTime","certValidity4GeneralizedTime","imd","certIssuer","certIssuerUniqueId","smd","certSubject","certSubjectUniqueId","certExtensions","certificateExtensionsFromAsn1","subjectPublicKeyInfo","extseq","critical","gn","createCertificationRequest","csrVersion","csrSignatureOid","csrSignatureParams","csrSignature","certificationRequestInfo","certificationRequestInfoSubject","addAttribute","certificationRequestInfoAttributes","setAttributes","getCertificationRequestInfo","cri","tbs","certificateExtensionsToAsn1","_CRIAttributesToAsn1","distinguishedNameToAsn1","dn","createCaStore","certs","caStore","getBySubject","ensureSubjectHasHash","getIssuer","addCertificate","hasCertificate","der1","listAllCertificates","certList","removeCertificate","certificateError","bad_certificate","unsupported_certificate","certificate_revoked","certificate_expired","certificate_unknown","unknown_ca","verifyCertificateChain","chain","selfSigned","verified","se","keyUsage","basicConstraints","bcExt","keyUsageExt","vfd","dbits","fromNumber","fromString","nbi","am3","xl","xh","am","appName","DB","DM","DV","FV","F1","F2","rr","vv","BI_RM","BI_RC","int2char","intAt","nbv","nbits","Classic","Montgomery","mp","invDigit","mpl","mph","um","mt2","op_and","op_xor","op_andnot","lbit","cbit","NullExp","nNop","Barrett","q3","dlShiftTo","mu","divide","convert","revert","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","ZERO","subTo","copyTo","u0","clamp","drShiftTo","fromRadix","mi","sh","lShiftTo","cbs","bm","ds","rShiftTo","pm","pt","ts","nsh","ys","y0","yt","d2","qd","isEven","negate","toRadix","km","modPowInt","multiplyUpperTo","multiplyLowerTo","lowprimes","lplim","chunkSize","signum","intValue","dMultiply","op","changeBit","addTo","modInt","millerRabin","n1","getLowestSetBit","shiftRight","shortValue","toByteArray","and","or","xor","andNot","bitCount","setBit","clearBit","flipBit","remainder","divideAndRemainder","g2","is1","ac","u","Buffer","pkcs5","pbkdf2","dkLen","pbkdf2Sync","prf","u_c","u_c1","dk","outer","_g","_r","sin","getAlgorithm","BlockCipher","_finish","_op","_decrypt","pad","unpad","afterFinish","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","isEncoding","isBuffer","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","bidirectionalIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","base64Slice","fromByteArray","utf8Slice","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","hexSlice","asciiSlice","latin1Slice","utf16leSlice","thisStart","thisEnd","thisCopy","targetCopy","toJSON","_arr","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","stringtrim","base64clean","GoogleAnalyticsDefaults","additionalAccountNames","userId","Angulartics2GoogleAnalytics","dimensionsAndMetrics","defaults","_gaq","accountName","eventOptions","eventCategory","eventAction","eventLabel","eventValue","nonInteraction","noninteraction","page","hitCallback","setDimensionsAndMetrics","fatal","exDescription","description","exFatal","timingCategory","timingVar","timingValue","angulartics2__WEBPACK_IMPORTED_MODULE_1__","ToasterModule","_angular_common__WEBPACK_IMPORTED_MODULE_1__","_toast_component__WEBPACK_IMPORTED_MODULE_2__","_toaster_container_component__WEBPACK_IMPORTED_MODULE_3__","_toaster_service__WEBPACK_IMPORTED_MODULE_4__","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","regExp","replacer","pargs","holder","OuterSubscriber","notifyNext","outerValue","innerValue","outerIndex","innerIndex","innerSub","notifyError","notifyComplete","symbolIteratorPonyfill","Set_1","Map_1","$$iterator","isArrayLike_1","isPromise_1","iterator_1","InnerSubscriber_1","subscribeToResult","outerSubscriber","InnerSubscriber","subscribeToResult_1","OuterSubscriber_1","MergeMapOperator","MergeMapSubscriber","hasCompleted","_tryNext","_innerSub","ish","_notifyResultSelector","identity_1","mergeAll","identity","ScalarObservable_1","EmptyObservable_1","isScheduler_1","isScheduler","ScalarObservable","getSymbolObservable","$$observable","$$rxSubscriber","toMetaKey","ordinaryDefineOwnMetadata","metadataKey","metadataValue","ordinaryHasOwnMetadata","hasOwnMetadata","ordinaryHasMetadata","hasMetadata","ordinaryOwnMetadataKeys","getOwnMetadataKeys","ordinaryGetOwnMetadata","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","ordinaryGetMetadata","getMetadata","deleteMetadata","defineMetadata","setProto","propertyKey","V","existingDescriptor","receiver","ownDesc","$preventExtensions","$isExtensible","Enumerate","enumerate","deleteProperty","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","rApply","fApply","thisArgument","argumentsList","$isView","final","viewS","viewT","Internal","GenericPromiseCapability","Wrapper","microtask","$Promise","USE_NATIVE","FakePromise","PromiseRejectionEvent","sameConstructor","isThenable","newPromiseCapability","PromiseCapability","$$resolve","$$reject","perform","isReject","_n","_v","ok","_s","reaction","_h","onHandleUnhandled","onUnhandled","abrupt","isUnhandled","onunhandledrejection","onrejectionhandled","$reject","$resolve","executor","capability","$index","alreadyCalled","race","SPLIT","$split","_split","$push","NPCG","separator2","lastLength","lastLastIndex","splitLimit","separatorCopy","SEARCH","$search","regexp","REPLACE","$replace","searchValue","replaceValue","$match","$flags","define","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","$find","forced","NEGATIVE_ZERO","$indexOf","$reduce","$every","$some","$filter","$forEach","STRICT","$sort","upTo","cloned","createProperty","hint","TO_PRIMITIVE","DateProto","lz","toISOString","getUTCMilliseconds","pv","color","$startsWith","repeat","$endsWith","endPosition","$at","codePointAt","point","callSite","tpl","$fromCodePoint","fromCodePoint","trunc","tanh","sinh","log2","log10","LN10","$imul","imul","xn","yn","yl","hypot","value1","value2","sum","larg","sqrt","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","cosh","clz32","LOG2E","cbrt","$atanh","atanh","$asinh","asinh","$acosh","acosh","MAX_VALUE","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","isInteger","isSafeInteger","_isFinite","$fails","aNumberValue","$toPrecision","toPrecision","precision","$toFixed","ERROR","numToString","fractionDigits","x2","$Number","BROKEN_COF","TRIM","toNumber","third","maxCode","HAS_INSTANCE","FunctionProto","FProto","nameRE","$isSealed","$isFrozen","$seal","$freeze","$getPrototypeOf","$getOwnPropertyDescriptor","symbols","wksDefine","keyOf","enumKeys","_create","gOPNExt","$JSON","_stringify","HIDDEN","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","keyFor","useSetter","useSimple","$replacer","share_1","mergeAll_1","last_1","concatAll_1","concatAll","levels","sLevelInfo","sLoggers","sConsoleLogger","LEVEL_LOCKED","NO_LEVEL_CHECK","INTERPOLATE","logMessage","messageLevelIndex","logger","prepareStandard","standard","prepareFull","prepareStandardFull","standardFull","timestamp","makeLogger","logFunction","setLevel","addLogger","debug","levelHandlers","consoleLogger","storage","cat","mgf1","p7v","pkcs7asn1","pkcs7","contentInfoValidator","encryptedContentInfoValidator","envelopedDataValidator","encryptedDataValidator","signerValidator","signedDataValidator","recipientInfoValidator","p12","pkcs12","pfxValidator","safeBagValidator","attributeValidator","certBagValidator","_getBagsByAttribute","safeContents","bagType","safeBags","bag","_decodePkcs7Data","_decryptSafeContents","encAlgorithm","pbe","getCipher","encParameter","encryptedContentAsn1","encrypted","_decodeSafeContents","safeBag","decoder","bagId","_decodeBagAttributes","bagAttributes","bagAsn1","bagValue","pkcs8ShroudedKeyBag","decryptPrivateKeyInfo","keyBag","certBag","certId","x509Certificate","certAsn1","decodedAttrs","pkcs12FromAsn1","pfx","getBags","localKeyId","localKeyIdHex","friendlyName","getBagsByFriendlyName","getBagsByLocalKeyId","mac","macKeyBytes","macAlgorithm","sha384","macSalt","macIterations","macKey","macDigest","authSafe","contentInfo","encryptedData","_decodeAuthenticatedSafe","toPkcs12Asn1","saltSize","useMac","generateLocalKeyId","bagAttrs","pairedCert","certSafeBags","certBagAttrs","certSafeBag","certSafeContents","certCI","pkAsn1","encryptPrivateKeyInfo","keySafeContents","keyCI","macData","macValue","generatePkcs12Key","primeincFindPrimeWithoutWorkers","generateRandom","workerMessage","primeincFindPrimeWithWorkers","primeincFindPrime","mrTests","getMillerRabinTests","millerRabinTests","maxBlockTime","_primeinc","rsa_mgf1","maskLength","mgf1Md","keyLength","lHash","PS","PS_length","seedLength","seedMask","expectedLength","maskedSeed","lHashPrime","in_ps","piTable","rc2","expandKey","effKeyBits","T1","T8","TM","mixRound","mashRound","_output","_iv","runPlan","plan","ptr","reseeds","generated","pools","_reseedSync","_seed","needed","seedFileSync","keyBytes","seedBytes","defaultSeedFile","entropy","Uint32Array","QuotaExceededError","pool","generateSync","seedFile","_reseed","randomBytes","registerWorker","h5","h6","h7","s0","maj","encryptedPrivateKeyValidator","PBES2AlgorithmsValidator","pkcs12PbeParamsValidator","prfOidToMessageDigest","prfOid","prfAlgorithm","supported","prfAlgorithmToMessageDigest","encryptionAlgorithm","countBytes","ivLen","encOid","cipherFn","createPbkdf2Params","saltBytes","encryptionOid","encryptionParams","encryptedPrivateKeyToPem","epki","encryptedPrivateKeyFromPem","encryptRsaPrivateKey","legacy","opensslDeriveBytes","decryptRsaPrivateKey","passBuf","Slen","Plen","Inew","chunk","getCipherForPBES2","getCipherForPKCS12PBE","supportedOids","kdfOid","kdfSalt","kdfIterationCount","encIv","dIvLen","digests","pemToDer","privateKeyFromPem","privateKeyToPem","privateKeyInfoToPem","prf_TLS1","secret","slen","ai","md5itr","sha1itr","md5bytes","sha1bytes","readVector","writeVector","tls","Versions","TLS_1_0","TLS_1_1","TLS_1_2","SupportedVersions","MaxFragment","ConnectionEnd","PRFAlgorithm","tls_prf_sha256","BulkCipherAlgorithm","none","rc4","des3","CipherType","stream","block","aead","MACAlgorithm","hmac_md5","hmac_sha1","hmac_sha256","hmac_sha384","hmac_sha512","CompressionMethod","ContentType","change_cipher_spec","alert","handshake","application_data","heartbeat","HandshakeType","hello_request","client_hello","server_hello","certificate","server_key_exchange","certificate_request","server_hello_done","certificate_verify","client_key_exchange","finished","Alert","Level","Description","close_notify","unexpected_message","bad_record_mac","decryption_failed","record_overflow","decompression_failure","handshake_failure","illegal_parameter","access_denied","decode_error","decrypt_error","export_restriction","protocol_version","insufficient_security","internal_error","user_canceled","no_renegotiation","HeartbeatMessageType","heartbeat_request","heartbeat_response","CipherSuites","getCipherSuite","twoBytes","handleUnexpected","entity","handleHelloRequest","handshaking","handshakes","createAlert","parseHelloMessage","session_id","cipher_suite","compression_method","cipher_suites","compression_methods","snl","session","server_name","serverNameList","cipherSuite","compressionMethod","createSecurityParameters","msgRandom","cRandom","sp","client_random","sRandom","createRandom","prf_algorithm","bulk_cipher_algorithm","cipher_type","enc_key_length","block_length","fixed_iv_length","record_iv_length","mac_algorithm","mac_length","mac_key_length","compression_algorithm","pre_master_secret","master_secret","server_random","handleServerHello","sessionId","expect","SCC","resuming","SCE","handleClientHello","sessionCache","getSession","clientHelloVersion","CCC","verifyClient","CCE","CKE","createRecord","createServerHello","createChangeCipherSpec","createConnectionState","createFinished","createServerKeyExchange","createCertificateRequest","createServerHelloDone","handleCertificate","certificate_list","cause","SKE","serverCertificate","clientCertificate","handleServerKeyExchange","SCR","handleClientKeyExchange","enc_pre_master_secret","getPrivateKey","CCV","handleCertificateRequest","certificate_types","certificate_authorities","certificateRequest","SHD","handleCertificateVerify","msgBytes","handleServerHelloDone","createClientKeyExchange","SER","createCertificateVerify","getClientSignature","handleChangeCipherSpec","SFI","CFI","handleFinished","vd","SAD","peerCertificate","isConnected","connected","handleAlert","origin","handleHandshake","fragmented","hsTable","handleApplicationData","dataReady","handleHeartbeat","payload","createHeartbeat","expectedHeartbeatPayload","heartbeatReceived","R0","R1","R2","R3","R4","ctTable","H0","H1","H2","H3","H4","H5","H6","H7","H8","H9","generateKeys","tls10","client_write_MAC_key","server_write_MAC_key","client_write_key","server_write_key","client_write_IV","server_write_IV","createMode","sequenceNumber","macLength","macFunction","cipherState","cipherFunction","compressionState","compressFunction","updateSequenceNumber","initSecurityParameters","initConnectionState","createClientHello","cipherSuites","cSuites","compressionMethods","cMethods","virtualHost","serverName","snList","extLength","getCertificate","der","certBuffer","getSignature","certTypes","cAs","byteBuffer","payloadLength","plaintextLength","paddingLength","rec","tlsData","tlsDataReady","_certErrorToAlertDesc","_alertDescToCertError","createSessionCache","capacity","setSession","createConnection","cn","dpth","cts","clearFail","compatibleVersion","_readRecordHeader","_readRecord","aligned","prepare","prepareHeartbeatRequest","prf_tls1","seqNum","transformIV","inc32","from64To32","_ints","_inBlock","_outBlock","_partialBlock","_partialOutput","_partialBytes","inputLength","partialBytes","_R","additionalData","_cipherLength","_tagLength","tagLength","_tag","_hashBlock","_hashSubkey","componentBits","_m","generateHashTable","ivLength","_j0","ghash","_aDataLength","lengths","z_i","v_i","lsb","tableMultiply","x_i","ah","multiplier","perInt","shft","generateSubHashTable","mid","half","m_i","m_j","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","AUTO_SCRIPT_PATH","IS_WORKER","IS_PAPA_WORKER","LOADED_SYNC","workerIdCounter","Papa","dynamicTyping","dynamicTypingFunction","WORKERS_SUPPORTED","SCRIPT_PATH","workerUrl","mainThreadReceivedMessage","newWorker","userStep","userChunk","userComplete","userError","workerId","streamer","download","NetworkStreamer","StringStreamer","readable","ReadableStreamStreamer","File","FileStreamer","unparse","_quotes","_writeHeader","_delimiter","_newline","_quoteChar","BAD_DELIMITERS","quotes","newline","quoteChar","quoteCharRegex","objectKeys","fields","csv","hasHeader","dataKeyedByField","row","maxCol","colIdx","needsQuotes","substrings","hasAny","RECORD_SEP","UNIT_SEP","BYTE_ORDER_MARK","LocalChunkSize","RemoteChunkSize","DefaultDelimiter","Parser","ParserHandle","FileReader","files","inputElem","instanceConfig","parseNextFile","fileComplete","userCompleteFunc","ChunkStreamer","_handle","_paused","_baseIndex","_partialLine","_rowCount","_start","_nextChunk","isFirstChunk","_completeResults","configCopy","parseChunk","beforeFirstChunk","modifiedChunk","aggregate","paused","aborted","cursor","finishedIncludingPreview","preview","WORKER_ID","_sendError","_readChunk","_chunkLoaded","withCredentials","bindFunction","_chunkError","downloadRequestHeaders","headerName","contentRange","getFileSize","errorText","reader","usingAsyncReader","webkitSlice","mozSlice","FileReaderSync","txt","readAsText","parseOnData","_streamData","_streamEnd","_streamError","_streamCleanUp","_parser","_delimiterError","FLOAT","_stepCounter","_aborted","_fields","needsHeaderRow","processResults","addError","skipEmptyLines","fillHeaderFields","field","parseDynamic","applyHeaderAndDynamicTyping","shouldApplyDynamicTyping","baseIndex","ignoreLastRow","nAppearsFirst","numWithN","guessLineEndings","delimGuess","bestDelim","bestDelta","fieldCountPrevRow","delimChoices","delim","avgFieldCount","emptyLinesCount","fieldCount","successful","bestDelimiter","guessDelimiter","parserConfig","getCharIndex","resume","comments","fastMode","inputLen","delimLen","newlineLen","commentsLen","stepIsFunction","lastCursor","returnable","rows","pushRow","doStep","nextDelim","nextNewline","saveRow","quoteSearch","newCursor","linebreak","truncated","completeWorker","notImplemented","cpy","FilterOperator","FilterSubscriber","dispatchNext","dispatchError","MapOperator","MapSubscriber","Notification","hasValue","do","accept","nextOrObserver","throw","createNext","undefinedValueNotification","createComplete","completeNotification","Notification_1","observeOn","ObserveOnOperator","ObserveOnSubscriber","notification","scheduleMessage","ObserveOnMessage","AsyncScheduler","actions","scheduled","execute","Scheduler","AsyncAction","work","recycleAsyncId","requestAsyncId","_execute","errored","errorValue","Action","__esModule","default","CLASS_NAMES","MODAL","OVERLAY","SHOW_MODAL","MODAL_TITLE","MODAL_TEXT","ICON","ICON_CUSTOM","CONTENT","FOOTER","BUTTON_CONTAINER","BUTTON","CONFIRM_BUTTON","CANCEL_BUTTON","DANGER_BUTTON","BUTTON_LOADING","BUTTON_LOADER","getNode","stringToNode","throwErr","ordinalSuffixOf","overlayMarkup","iconMarkup","titleMarkup","textMarkup","footerMarkup","CONFIRM_KEY","CANCEL_KEY","closeModal","defaultButtonList","confirm","getButtonListOpts","injectElIntoModal","initModalContent","icon","initTitle","initText","dangerMode","modalMarkup","isOpen","resetState","setActionValue","setActionOptionsFor","openModal","onAction","getState","stopLoading","sweetAlert","swal","insertAt","locals","btoa","sources","sourceRoot","refs","media","sourceMap","insertInto","rel","singleton","convertToAbsoluteUrls","styleSheet","atob","DEBUG","Boolean","CharacterData","DocumentType","_handled","_deferreds","_immediateFn","_unhandledRejectionFn","_setImmediateFn","_setUnhandledRejectionFn","polyfill","getOpts","setDefaults","errorIconMarkup","warningIconMarkup","successIconMarkup","contentMarkup","buttonMarkup","closeOnEsc","closeOnClickOutside","getContentOpts","DEPRECATED_OPTS","logDeprecation","placeholder","onlyRename","replacement","subOption","imageUrl","customClass","imageSize","showCancelButton","showConfirmButton","confirmButtonText","confirmButtonColor","cancelButtonText","closeOnConfirm","closeOnCancel","showLoaderOnConfirm","inputType","inputValue","inputPlaceholder","allowEscapeKey","allowClickOutside","mixin","isIterable","isEntries","stringLength","fillStr","intMaxLength","fillLen","stringFiller","isBrowser","longerTimeoutBrowsers","timeoutDuration","debounce","called","functionToCheck","getStyleComputedProperty","getParentNode","getScrollParent","_getStyleComputedProp","isIE11","MSInputMethodContext","isIE10","isIE","getOffsetParent","noOffsetParent","nextElementSibling","findCommonOffsetParent","element1","element2","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","upperSide","scrollingElement","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","protoProps","staticProps","_extends","getClientRect","sizes","clientWidth","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","includeScroll","getFixedPositionOffsetParent","getBoundaries","popper","reference","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","modifiers","ends","isModifierEnabled","getSupportedPropertyName","prefixes","upperProp","toCheck","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","placements","validPlacements","clockwise","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","basePlacement","useHeight","fragments","divider","splitRegex","ops","mergeWithPrevious","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","subtractLength","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","onLoad","modifierOptions","Popper","isDestroyed","isCreated","enableEventListeners","Utils","PopperUtils","refCount","RefCountOperator","connectable","_refCount","refCounter","RefCountSubscriber","connection","connect","sharedConnection","_connection","subscriberIndex","noop_1","ForkJoinObservable_1","forkJoin","ForkJoinObservable","filter_1","reduce_1","accumulator","_angular_animations_browser__WEBPACK_IMPORTED_MODULE_4__","BrowserAnimationBuilder","rootRenderer","_nextAnimationId","typeData","_angular_animations__WEBPACK_IMPORTED_MODULE_3__","issueAnimationCommand","BrowserAnimationFactory","RendererAnimationPlayer","_command","_listen","AnimationRendererFactory","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","_cdRecurDepth","BaseAnimationRenderer","AnimationRenderer","_scheduleCountTask","scheduleListenerCallback","resolveElementFromTarget","dotIndex","parseTriggerCallbackName","countId","InjectableAnimationEngine","instantiateSupportedAnimationDriver","instantiateDefaultStyleNormalizer","instantiateRendererFactory","SHARED_ANIMATION_PROVIDERS","BROWSER_ANIMATIONS_PROVIDERS","BROWSER_NOOP_ANIMATIONS_PROVIDERS","BrowserAnimationsModule","NoopAnimationsModule","sTasks","sNextTaskId","sTaskQueues","READY","RUNNING","BLOCKED","SLEEPING","DONE","sStateTable","Task","subtasks","blocks","swapTime","userData","subrun","subtask","successCallback","failureCallback","parallel","ptask","startParallelTask","pname","pi","unblock","failure","runNext","sleep","cond","wakeup","cancelTimeout","permitsNeeded","recurse","doNext","suppressCallbacks","createCondition","tasks","ssh","_addBigIntegerToBuffer","hexVal","_addStringToBuffer","_sha1","sha","privateKeyToPutty","passphrase","ppk","pubbuffer","priv","privbuffer","encLen","aeskey","mackey","macbuffer","publicKeyToOpenSSH","privateKeyToOpenSSH","p7","_recipientFromAsn1","encryptedContent","encKey","_signerToAsn1","authenticatedAttributesAsn1","signatureAlgorithm","unauthenticatedAttributes","attrsAsn1","_attributeToAsn1","messageDigest","signingTime","jan_1_1950","jan_1_2050","_fromAsn1","rawCapture","_decryptContent","ciph","messageFromPem","messageFromAsn1","messageToPem","pemObj","toAsn1","envelopedData","createEnvelopedData","createEncryptedData","signedData","createSignedData","fromAsn1","certificates","crls","signers","digestAlgorithmIdentifiers","signerInfos","addSigner","signer","authenticatedAttributes","mds","_signersToAsn1","addSignerInfos","addDigestAlgorithmIds","addCertificateRevokationList","crl","recipients","infos","_recipientsFromAsn1","recipientInfos","_recipientsToAsn1","ec","findRecipient","sAttr","rAttr","recipient","privKey","desCBC","addRecipient","keyLen","ciphFn","sha224","_states","messageLength128","hlen","t1_hi","t1_lo","t2_hi","t2_lo","s0_hi","s0_lo","s1_hi","ch_hi","maj_hi","maj_lo","a_hi","a_lo","b_hi","b_lo","c_hi","c_lo","d_hi","d_lo","e_hi","e_lo","f_hi","f_lo","g_hi","g_lo","h_hi","h_lo","w2","w7","w15","w16","kem","_createKDF","kdf","counterStart","kdf1","kdf2","decrypt_aes_cbc_sha1","encrypt_aes_cbc_sha1","encrypt_aes_cbc_sha1_padding","decrypt_aes_cbc_sha1_padding","macLen","mac2","mac1","compareMacs","i0","ɵeld","ɵand","_ck","ɵted","en","ad","_co","ɵdid","i1","View_ToastComponent_1","View_ToastComponent_2","View_ToastComponent_3","View_ToastComponent_4","TrustedHtml","View_ToastComponent_0","RenderType_ToastComponent","i2","i3","i4","ɵpad","View_ToasterContainerComponent_1","stringifyPrimitive","sep","ks","xs","qs","maxKeys","kstr","vstr","isString","isNull","isNullOrUndefined","webpackPolyfill","deprecate","freeGlobal","punycode","maxInt","tMin","tMax","skew","damp","initialBias","initialN","regexPunycode","regexNonASCII","regexSeparators","not-basic","invalid-input","baseMinusTMin","stringFromCharCode","mapDomain","ucs2decode","ucs2encode","digitToBasic","adapt","numPoints","firstTime","basic","oldi","baseMinusT","bias","handledCPCount","basicLength","handledCPCountPlusOne","qMinusT","ucs2","toASCII","toUnicode","Url","auth","hostname","urlParse","resolveObject","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","javascript","javascript:","hostlessProtocol","slashedProtocol","http","https","ftp","gopher","http:","https:","ftp:","gopher:","file:","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","rest","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","ae","esc","qm","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isLE","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","lookup","ForkJoinSubscriber","haveValues","innerSubscription","_hasValue","AsyncAction_1","AsyncScheduler_1","async_1","isDate_1","delayFor","DelayOperator","DelaySubscriber","delay_1","_schedule","scheduleNotification","DelayMessage","defaultIfEmpty","DefaultIfEmptyOperator","DefaultIfEmptySubscriber","ArgumentOutOfRangeError","ArgumentOutOfRangeError_1","takeLast","TakeLastOperator","TakeLastSubscriber","ring","scan","hasSeed","ScanOperator","ScanSubscriber","scan_1","takeLast_1","defaultIfEmpty_1","EmptyError_1","LastOperator","LastSubscriber","lastValue","_tryPredicate","_tryResultSelector","EveryOperator","EverySubscriber","everyValueMatch","FirstOperator","FirstSubscriber","_emitted","_emit","_emitFinal","CatchOperator","caught","CatchSubscriber","err2","ArrayLikeObservable","IteratorObservable","StringIterator","ArrayIterator","getIterator","return","valueAsNumber","maxSafeInteger","IteratorObservable_1","ArrayLikeObservable_1","observeOn_1","SchedulerAction","QueueScheduler","QueueAction","QueueAction_1","QueueScheduler_1","queue_1","bufferSize","windowTime","_events","_bufferSize","_windowTime","_getNow","ReplayEvent","_trimBufferThenGetEvents","eventsCount","spliceCount","registerImmediate","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","$re","&","<",">",""","'","unescapeHTML","escapeHTML","make","partial","createDictMethod","Dict","findKey","createDictIter","DictIterator","dict","mapPairs","isDict","TO_STRING_TAG","ArrayValues","collections","Collection","$task","MSIE","OBSERVABLE","cleanupSubscription","subscriptionClosed","_o","closeSubscription","SubscriptionObserver","$Observable","items","asap","umulh","$u","$v","u1","imulh","isubh","x0","x1","y1","$x0","$y0","iaddh","isError","__lookupSetter__","__lookupGetter__","__defineGetter__","$values","getOwnPropertyDescriptors","getDesc","getFlags","RegExpProto","$RegExpStringIterator","matchAll","rx","$pad","padEnd","padStart","$includes","_defineProperties","_defineProperty","_objectSpread","Util","$$$1","TRANSITION_END","transitionEndEmulator","triggerTransitionEnd","getUID","getSelectorFromElement","$selector","getTransitionDurationFromElement","transitionDuration","floatTransitionDuration","reflow","supportsTransitionEnd","isElement","typeCheckConfig","componentName","configTypes","expectedTypes","emulateTransitionEnd","JQUERY_NO_CONFLICT","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","_proto","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closeEvent","_destroyElement","_jQueryInterface","$element","_handleDismiss","alertInstance","Button","ACTIVE","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","triggerChangeEvent","addAriaPressed","Carousel","DATA_KEY","EVENT_KEY","keyboard","slide","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CAROUSEL","ITEM","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_getConfig","_indicatorsElement","_addEventListeners","_slide","nextWhenVisible","cycle","visibilityState","activeIndex","_getItemIndex","direction","_this2","_keydown","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","itemIndex","_triggerSlideEvent","eventDirectionName","targetIndex","slideEvent","_setActiveIndicatorElement","nextIndicator","directionalClassName","orderClassName","_this3","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","_dataApiClickHandler","slideIndex","$carousel","Collapse","SHOWN","HIDE","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","_isTransitioning","_triggerArray","tabToggles","_selector","_getParent","_addAriaAndCollapsedClass","actives","activesData","startEvent","_getDimension","setTransitioning","capitalizedDimension","scrollSize","$elem","isTransitioning","hasWidth","_getTargetFromElement","triggerArray","$trigger","$target","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","boundary","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","_getParentFromElement","_clearMenus","showEvent","referenceElement","_getPopperConfig","_getPlacement","$parentDropdown","offsetConf","popperConfig","toggles","dropdownMenu","hideEvent","_dataApiKeydownHandler","Modal","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","handleUpdate","_enforceFocus","shownEvent","transitionComplete","_this4","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","backdropTransitionDuration","callbackRemove","_backdropTransitionDuration","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this9","actualPadding","calculatedPadding","actualMargin","calculatedMargin","scrollDiv","scrollbarWidth","_this10","Tooltip","BSCLS_PREFIX_REGEX","fallbackPlacement","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","toggleEnabled","dataKey","_getDelegateConfig","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_handlePopperPlacementChange","_fixTransition","prevHoverState","_cleanTipClass","CLASS_PREFIX","$tip","setElementContent","triggers","eventIn","eventOut","_fixTitle","titleType","tabClass","initConfigAnimation","Popover","TITLE","_Tooltip","subClass","superClass","_getContent","ScrollSpy","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","_getOffsetHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","scrollSpys","$spy","Tab","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","previous","listElement","itemSelector","hiddenEvent","_transitionComplete","dropdownChild","dropdownElement","Scrollspy","refCount_1","ConnectableObservable","subjectFactory","_isComplete","getSubject","ConnectableSubscriber","connectableProto","connectableObservableDescriptor","ConnectableObservable_1","multicast","subjectOrSubjectFactory","MulticastOperator","multicast_1","shareSubjectFactory","tryCatchTarget","tryCatcher"],"mappings":"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DK,EA7CA,CA8CCJ,GAUD,SAAAM,EAAA/lC,EAAAgmC,GAEA,iBAAAA,IACAA,EAAAC,SAAsC,OAEtC,IAAqBlY,EAAqB,EACrBmY,EAAAnY,EAAAtoD,WAAA6N,QAAA,gBACA9F,EAAA0S,KAAAC,MAAAD,KAAAggD,IAAAnS,IACAt7C,EAAAyzD,EAAA9+D,OACAumB,EAAAs4C,SAAAC,EAAA,IACApvD,EAAAmvD,SAAAlY,EAAAtoD,WAAA6N,QAAA,4BAErB,OADqB0sB,EAAAn0B,MAAA,QAAA02C,eAErB,SACA,UACA,SACA,UACA,UACA,SACA,UACA,SACA,UACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,SACA,UACA,SACA,UACA,UACA,SACA,SACA,UACA,SACA,SACA,UACA,SACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,SACA,SACA,UACA,UACA,UACA,WAAAwL,EACA6S,EAAAE,IACAF,EAAAM,MACA,SACA,SACA,SACA,SACA,SACA,OAAAnT,IAAA7tC,KAAAC,MAAA4tC,OAAA,GAAAA,GAAA,EACA6S,EAAAE,IACAF,EAAAM,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAAA1zD,GAAA,IAAAugD,EACA6S,EAAAE,IACAF,EAAAM,MACA,SACA,WAAAnT,EACA6S,EAAAC,KACA,IAAA9S,EACA6S,EAAAE,IACA,IAAA/S,EACA6S,EAAAG,IACAhT,EAAA,MAAA7tC,KAAAC,MAAA4tC,EAAA,MAAAA,EAAA,QAAAA,EAAA,QACA6S,EAAAI,IACAjT,EAAA,MAAA7tC,KAAAC,MAAA4tC,EAAA,MAAAA,EAAA,SAAAA,EAAA,QACA6S,EAAAK,KACAL,EAAAM,MACA,UACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAAA1zD,GAAA,IAAAiF,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,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,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","file":"app/vendor.6cd71d630010c1561476.js","sourcesContent":["/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\nimport { __assign, __extends } from 'tslib';\nimport { Observable } from 'rxjs/Observable';\nimport { merge } from 'rxjs/observable/merge';\nimport { share } from 'rxjs/operator/share';\nimport { Subject } from 'rxjs/Subject';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Creates a token that can be used in a DI Provider.\n *\n * Use an `InjectionToken` whenever the type you are injecting is not reified (does not have a\n * runtime representation) such as when injecting an interface, callable type, array or\n * parametrized type.\n *\n * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by\n * the `Injector`. This provides additional level of type safety.\n *\n * ```\n * interface MyInterface {...}\n * var myInterface = injector.get(new InjectionToken('SomeToken'));\n * // myInterface is inferred to be MyInterface.\n * ```\n *\n * ### Example\n *\n * {\\@example core/di/ts/injector_spec.ts region='InjectionToken'}\n *\n * \\@stable\n */\nvar InjectionToken = /** @class */ (function () {\n function InjectionToken(_desc) {\n this._desc = _desc;\n /**\n * \\@internal\n */\n this.ngMetadataName = 'InjectionToken';\n }\n /**\n * @return {?}\n */\n InjectionToken.prototype.toString = /**\n * @return {?}\n */\n function () { return \"InjectionToken \" + this._desc; };\n return InjectionToken;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An interface implemented by all Angular type decorators, which allows them to be used as ES7\n * decorators as well as\n * Angular DSL syntax.\n *\n * ES7 syntax:\n *\n * ```\n * \\@ng.Component({...})\n * class MyClass {...}\n * ```\n * \\@stable\n * @record\n */\n\nvar ANNOTATIONS = '__annotations__';\nvar PARAMETERS = '__paramaters__';\nvar PROP_METADATA = '__prop__metadata__';\n/**\n * @suppress {globalThis}\n * @param {?} name\n * @param {?=} props\n * @param {?=} parentClass\n * @param {?=} chainFn\n * @return {?}\n */\nfunction makeDecorator(name, props, parentClass, chainFn) {\n var /** @type {?} */ metaCtor = makeMetadataCtor(props);\n /**\n * @param {?} objOrType\n * @return {?}\n */\n function DecoratorFactory(objOrType) {\n if (this instanceof DecoratorFactory) {\n metaCtor.call(this, objOrType);\n return this;\n }\n var /** @type {?} */ annotationInstance = new (/** @type {?} */ (DecoratorFactory))(objOrType);\n var /** @type {?} */ TypeDecorator = /** @type {?} */ (function TypeDecorator(cls) {\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n var /** @type {?} */ annotations = cls.hasOwnProperty(ANNOTATIONS) ?\n (/** @type {?} */ (cls))[ANNOTATIONS] :\n Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS];\n annotations.push(annotationInstance);\n return cls;\n });\n if (chainFn)\n chainFn(TypeDecorator);\n return TypeDecorator;\n }\n if (parentClass) {\n DecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n DecoratorFactory.prototype.ngMetadataName = name;\n (/** @type {?} */ (DecoratorFactory)).annotationCls = DecoratorFactory;\n return /** @type {?} */ (DecoratorFactory);\n}\n/**\n * @param {?=} props\n * @return {?}\n */\nfunction makeMetadataCtor(props) {\n return function ctor() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (props) {\n var /** @type {?} */ values = props.apply(void 0, args);\n for (var /** @type {?} */ propName in values) {\n this[propName] = values[propName];\n }\n }\n };\n}\n/**\n * @param {?} name\n * @param {?=} props\n * @param {?=} parentClass\n * @return {?}\n */\nfunction makeParamDecorator(name, props, parentClass) {\n var /** @type {?} */ metaCtor = makeMetadataCtor(props);\n /**\n * @param {...?} args\n * @return {?}\n */\n function ParamDecoratorFactory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this instanceof ParamDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n var /** @type {?} */ annotationInstance = new ((_a = (/** @type {?} */ (ParamDecoratorFactory))).bind.apply(_a, [void 0].concat(args)))();\n (/** @type {?} */ (ParamDecorator)).annotation = annotationInstance;\n return ParamDecorator;\n /**\n * @param {?} cls\n * @param {?} unusedKey\n * @param {?} index\n * @return {?}\n */\n function ParamDecorator(cls, unusedKey, index) {\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n var /** @type {?} */ parameters = cls.hasOwnProperty(PARAMETERS) ?\n (/** @type {?} */ (cls))[PARAMETERS] :\n Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS];\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n (parameters[index] = parameters[index] || []).push(annotationInstance);\n return cls;\n }\n var _a;\n }\n if (parentClass) {\n ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n ParamDecoratorFactory.prototype.ngMetadataName = name;\n (/** @type {?} */ (ParamDecoratorFactory)).annotationCls = ParamDecoratorFactory;\n return ParamDecoratorFactory;\n}\n/**\n * @param {?} name\n * @param {?=} props\n * @param {?=} parentClass\n * @return {?}\n */\nfunction makePropDecorator(name, props, parentClass) {\n var /** @type {?} */ metaCtor = makeMetadataCtor(props);\n /**\n * @param {...?} args\n * @return {?}\n */\n function PropDecoratorFactory() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this instanceof PropDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n var /** @type {?} */ decoratorInstance = new ((_a = (/** @type {?} */ (PropDecoratorFactory))).bind.apply(_a, [void 0].concat(args)))();\n return function PropDecorator(target, name) {\n var /** @type {?} */ constructor = target.constructor;\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n var /** @type {?} */ meta = constructor.hasOwnProperty(PROP_METADATA) ?\n (/** @type {?} */ (constructor))[PROP_METADATA] :\n Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA];\n meta[name] = meta.hasOwnProperty(name) && meta[name] || [];\n meta[name].unshift(decoratorInstance);\n };\n var _a;\n }\n if (parentClass) {\n PropDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n PropDecoratorFactory.prototype.ngMetadataName = name;\n (/** @type {?} */ (PropDecoratorFactory)).annotationCls = PropDecoratorFactory;\n return PropDecoratorFactory;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This token can be used to create a virtual provider that will populate the\n * `entryComponents` fields of components and ng modules based on its `useValue`.\n * All components that are referenced in the `useValue` value (either directly\n * or in a nested array or map) will be added to the `entryComponents` property.\n *\n * ### Example\n * The following example shows how the router can populate the `entryComponents`\n * field of an NgModule based on the router configuration which refers\n * to components.\n *\n * ```typescript\n * // helper function inside the router\n * function provideRoutes(routes) {\n * return [\n * {provide: ROUTES, useValue: routes},\n * {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: routes, multi: true}\n * ];\n * }\n *\n * // user code\n * let routes = [\n * {path: '/root', component: RootComp},\n * {path: '/teams', component: TeamsComp}\n * ];\n *\n * \\@NgModule({\n * providers: [provideRoutes(routes)]\n * })\n * class ModuleWithRoutes {}\n * ```\n *\n * \\@experimental\n */\nvar ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents');\n/**\n * Type of the Attribute decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Attribute decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Attribute = makeParamDecorator('Attribute', function (attributeName) { return ({ attributeName: attributeName }); });\n/**\n * Base class for query metadata.\n *\n * See {\\@link ContentChildren}, {\\@link ContentChild}, {\\@link ViewChildren}, {\\@link ViewChild} for\n * more information.\n *\n * \\@stable\n * @abstract\n */\nvar Query = /** @class */ (function () {\n function Query() {\n }\n return Query;\n}());\n/**\n * Type of the ContentChildren decorator / constructor function.\n *\n * See {\\@link ContentChildren}.\n *\n * \\@stable\n * @record\n */\n\n/**\n * ContentChildren decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar ContentChildren = makePropDecorator('ContentChildren', function (selector, data) {\n if (data === void 0) { data = {}; }\n return (__assign({ selector: selector, first: false, isViewQuery: false, descendants: false }, data));\n}, Query);\n/**\n * Type of the ContentChild decorator / constructor function.\n *\n *\n * \\@stable\n * @record\n */\n\n/**\n * ContentChild decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar ContentChild = makePropDecorator('ContentChild', function (selector, data) {\n if (data === void 0) { data = {}; }\n return (__assign({ selector: selector, first: true, isViewQuery: false, descendants: true }, data));\n}, Query);\n/**\n * Type of the ViewChildren decorator / constructor function.\n *\n * See {\\@link ViewChildren}.\n *\n * \\@stable\n * @record\n */\n\n/**\n * ViewChildren decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar ViewChildren = makePropDecorator('ViewChildren', function (selector, data) {\n if (data === void 0) { data = {}; }\n return (__assign({ selector: selector, first: false, isViewQuery: true, descendants: true }, data));\n}, Query);\n/**\n * Type of the ViewChild decorator / constructor function.\n *\n * See {\\@link ViewChild}\n *\n * \\@stable\n * @record\n */\n\n/**\n * ViewChild decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar ViewChild = makePropDecorator('ViewChild', function (selector, data) {\n return (__assign({ selector: selector, first: true, isViewQuery: true, descendants: true }, data));\n}, Query);\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @enum {number} */\nvar ChangeDetectionStrategy = {\n /**\n * `OnPush` means that the change detector's mode will be initially set to `CheckOnce`.\n */\n OnPush: 0,\n /**\n * `Default` means that the change detector's mode will be initially set to `CheckAlways`.\n */\n Default: 1,\n};\nChangeDetectionStrategy[ChangeDetectionStrategy.OnPush] = \"OnPush\";\nChangeDetectionStrategy[ChangeDetectionStrategy.Default] = \"Default\";\n/** @enum {number} */\nvar ChangeDetectorStatus = {\n /**\n * `CheckOnce` means that after calling detectChanges the mode of the change detector\n * will become `Checked`.\n */\n CheckOnce: 0,\n /**\n * `Checked` means that the change detector should be skipped until its mode changes to\n * `CheckOnce`.\n */\n Checked: 1,\n /**\n * `CheckAlways` means that after calling detectChanges the mode of the change detector\n * will remain `CheckAlways`.\n */\n CheckAlways: 2,\n /**\n * `Detached` means that the change detector sub tree is not a part of the main tree and\n * should be skipped.\n */\n Detached: 3,\n /**\n * `Errored` means that the change detector encountered an error checking a binding\n * or calling a directive lifecycle method and is now in an inconsistent state. Change\n * detectors in this state will no longer detect changes.\n */\n Errored: 4,\n /**\n * `Destroyed` means that the change detector is destroyed.\n */\n Destroyed: 5,\n};\nChangeDetectorStatus[ChangeDetectorStatus.CheckOnce] = \"CheckOnce\";\nChangeDetectorStatus[ChangeDetectorStatus.Checked] = \"Checked\";\nChangeDetectorStatus[ChangeDetectorStatus.CheckAlways] = \"CheckAlways\";\nChangeDetectorStatus[ChangeDetectorStatus.Detached] = \"Detached\";\nChangeDetectorStatus[ChangeDetectorStatus.Errored] = \"Errored\";\nChangeDetectorStatus[ChangeDetectorStatus.Destroyed] = \"Destroyed\";\n/**\n * @param {?} changeDetectionStrategy\n * @return {?}\n */\nfunction isDefaultChangeDetectionStrategy(changeDetectionStrategy) {\n return changeDetectionStrategy == null ||\n changeDetectionStrategy === ChangeDetectionStrategy.Default;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type of the Directive decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Directive decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Directive = makeDecorator('Directive', function (dir) {\n if (dir === void 0) { dir = {}; }\n return dir;\n});\n/**\n * Type of the Component decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Component decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Component = makeDecorator('Component', function (c) {\n if (c === void 0) { c = {}; }\n return (__assign({ changeDetection: ChangeDetectionStrategy.Default }, c));\n}, Directive);\n/**\n * Type of the Pipe decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Pipe decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Pipe = makeDecorator('Pipe', function (p) { return (__assign({ pure: true }, p)); });\n/**\n * Type of the Input decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Input decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Input = makePropDecorator('Input', function (bindingPropertyName) { return ({ bindingPropertyName: bindingPropertyName }); });\n/**\n * Type of the Output decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Output decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Output = makePropDecorator('Output', function (bindingPropertyName) { return ({ bindingPropertyName: bindingPropertyName }); });\n/**\n * Type of the HostBinding decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * HostBinding decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar HostBinding = makePropDecorator('HostBinding', function (hostPropertyName) { return ({ hostPropertyName: hostPropertyName }); });\n/**\n * Type of the HostListener decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * HostListener decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar HostListener = makePropDecorator('HostListener', function (eventName, args) { return ({ eventName: eventName, args: args }); });\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around a module that also includes the providers.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Interface for schema definitions in \\@NgModules.\n *\n * \\@experimental\n * @record\n */\n\n/**\n * Defines a schema that will allow:\n * - any non-Angular elements with a `-` in their name,\n * - any properties on elements with a `-` in their name which is the common rule for custom\n * elements.\n *\n * \\@stable\n */\nvar CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\n/**\n * Defines a schema that will allow any property on any element.\n *\n * \\@experimental\n */\nvar NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\n/**\n * Type of the NgModule decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * NgModule decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar NgModule = makeDecorator('NgModule', function (ngModule) { return ngModule; });\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @enum {number} */\nvar ViewEncapsulation = {\n /**\n * Emulate `Native` scoping of styles by adding an attribute containing surrogate id to the Host\n * Element and pre-processing the style rules provided via {@link Component#styles styles} or\n * {@link Component#styleUrls styleUrls}, and adding the new Host Element attribute to all\n * selectors.\n *\n * This is the default option.\n */\n Emulated: 0,\n /**\n * Use the native encapsulation mechanism of the renderer.\n *\n * For the DOM this means using [Shadow DOM](https://w3c.github.io/webcomponents/spec/shadow/) and\n * creating a ShadowRoot for Component's Host Element.\n */\n Native: 1,\n /**\n * Don't provide any template or style encapsulation.\n */\n None: 2,\n};\nViewEncapsulation[ViewEncapsulation.Emulated] = \"Emulated\";\nViewEncapsulation[ViewEncapsulation.Native] = \"Native\";\nViewEncapsulation[ViewEncapsulation.None] = \"None\";\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Represents the version of Angular\n *\n * \\@stable\n */\nvar Version = /** @class */ (function () {\n function Version(full) {\n this.full = full;\n this.major = full.split('.')[0];\n this.minor = full.split('.')[1];\n this.patch = full.split('.').slice(2).join('.');\n }\n return Version;\n}());\n/**\n * \\@stable\n */\nvar VERSION = new Version('5.2.0');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type of the Inject decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Inject decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Inject = makeParamDecorator('Inject', function (token) { return ({ token: token }); });\n/**\n * Type of the Optional decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Optional decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Optional = makeParamDecorator('Optional');\n/**\n * Type of the Injectable decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Injectable decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Injectable = makeDecorator('Injectable');\n/**\n * Type of the Self decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Self decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Self = makeParamDecorator('Self');\n/**\n * Type of the SkipSelf decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * SkipSelf decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar SkipSelf = makeParamDecorator('SkipSelf');\n/**\n * Type of the Host decorator / constructor function.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Host decorator and metadata.\n *\n * \\@stable\n * \\@Annotation\n */\nvar Host = makeParamDecorator('Host');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar __window = typeof window !== 'undefined' && window;\nvar __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nvar __global = typeof global !== 'undefined' && global;\nvar _global = __window || __global || __self;\nvar _symbolIterator = null;\n/**\n * @return {?}\n */\nfunction getSymbolIterator() {\n if (!_symbolIterator) {\n var /** @type {?} */ Symbol_1 = _global['Symbol'];\n if (Symbol_1 && Symbol_1.iterator) {\n _symbolIterator = Symbol_1.iterator;\n }\n else {\n // es6-shim specific logic\n var /** @type {?} */ keys = Object.getOwnPropertyNames(Map.prototype);\n for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n var /** @type {?} */ key = keys[i];\n if (key !== 'entries' && key !== 'size' &&\n (/** @type {?} */ (Map)).prototype[key] === Map.prototype['entries']) {\n _symbolIterator = key;\n }\n }\n }\n }\n return _symbolIterator;\n}\n/**\n * @param {?} fn\n * @return {?}\n */\nfunction scheduleMicroTask(fn) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction looseIdentical(a, b) {\n return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n/**\n * @param {?} token\n * @return {?}\n */\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (token instanceof Array) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return \"\" + token.overriddenName;\n }\n if (token.name) {\n return \"\" + token.name;\n }\n var /** @type {?} */ res = token.toString();\n if (res == null) {\n return '' + res;\n }\n var /** @type {?} */ newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An interface that a function passed into {\\@link forwardRef} has to implement.\n *\n * ### Example\n *\n * {\\@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref_fn'}\n * \\@experimental\n * @record\n */\n\n/**\n * Allows to refer to references which are not yet defined.\n *\n * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of\n * DI is declared,\n * but not yet defined. It is also used when the `token` which we use when creating a query is not\n * yet defined.\n *\n * ### Example\n * {\\@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}\n * \\@experimental\n * @param {?} forwardRefFn\n * @return {?}\n */\nfunction forwardRef(forwardRefFn) {\n (/** @type {?} */ (forwardRefFn)).__forward_ref__ = forwardRef;\n (/** @type {?} */ (forwardRefFn)).toString = function () { return stringify(this()); };\n return (/** @type {?} */ (/** @type {?} */ (forwardRefFn)));\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n *\n * Acts as the identity function when given a non-forward-ref value.\n *\n * ### Example ([live demo](http://plnkr.co/edit/GU72mJrk1fiodChcmiDR?p=preview))\n *\n * {\\@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'}\n *\n * See: {\\@link forwardRef}\n * \\@experimental\n * @param {?} type\n * @return {?}\n */\nfunction resolveForwardRef(type) {\n if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__') &&\n type.__forward_ref__ === forwardRef) {\n return (/** @type {?} */ (type))();\n }\n else {\n return type;\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar SOURCE = '__source';\nvar _THROW_IF_NOT_FOUND = new Object();\nvar THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\nvar _NullInjector = /** @class */ (function () {\n function _NullInjector() {\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n _NullInjector.prototype.get = /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = _THROW_IF_NOT_FOUND; }\n if (notFoundValue === _THROW_IF_NOT_FOUND) {\n throw new Error(\"NullInjectorError: No provider for \" + stringify(token) + \"!\");\n }\n return notFoundValue;\n };\n return _NullInjector;\n}());\n/**\n * \\@whatItDoes Injector interface\n * \\@howToUse\n * ```\n * const injector: Injector = ...;\n * injector.get(...);\n * ```\n *\n * \\@description\n * For more details, see the {\\@linkDocs guide/dependency-injection \"Dependency Injection Guide\"}.\n *\n * ### Example\n *\n * {\\@example core/di/ts/injector_spec.ts region='Injector'}\n *\n * `Injector` returns itself when given `Injector` as a token:\n * {\\@example core/di/ts/injector_spec.ts region='injectInjector'}\n *\n * \\@stable\n * @abstract\n */\nvar Injector = /** @class */ (function () {\n function Injector() {\n }\n /**\n * Create a new Injector which is configure using `StaticProvider`s.\n *\n * ### Example\n *\n * {@example core/di/ts/provider_spec.ts region='ConstructorProvider'}\n */\n /**\n * Create a new Injector which is configure using `StaticProvider`s.\n *\n * ### Example\n *\n * {\\@example core/di/ts/provider_spec.ts region='ConstructorProvider'}\n * @param {?} options\n * @param {?=} parent\n * @return {?}\n */\n Injector.create = /**\n * Create a new Injector which is configure using `StaticProvider`s.\n *\n * ### Example\n *\n * {\\@example core/di/ts/provider_spec.ts region='ConstructorProvider'}\n * @param {?} options\n * @param {?=} parent\n * @return {?}\n */\n function (options, parent) {\n if (Array.isArray(options)) {\n return new StaticInjector(options, parent);\n }\n else {\n return new StaticInjector(options.providers, options.parent, options.name || null);\n }\n };\n Injector.THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\n Injector.NULL = new _NullInjector();\n return Injector;\n}());\nvar IDENT = function (value) {\n return value;\n};\nvar EMPTY = /** @type {?} */ ([]);\nvar CIRCULAR = IDENT;\nvar MULTI_PROVIDER_FN = function () {\n return Array.prototype.slice.call(arguments);\n};\nvar GET_PROPERTY_NAME = /** @type {?} */ ({});\nvar ɵ2 = GET_PROPERTY_NAME;\nvar USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ2 });\nvar NG_TOKEN_PATH = 'ngTokenPath';\nvar NG_TEMP_TOKEN_PATH = 'ngTempTokenPath';\nvar NULL_INJECTOR = Injector.NULL;\nvar NEW_LINE = /\\n/gm;\nvar NO_NEW_LINE = 'ɵ';\nvar StaticInjector = /** @class */ (function () {\n function StaticInjector(providers, parent, source) {\n if (parent === void 0) { parent = NULL_INJECTOR; }\n if (source === void 0) { source = null; }\n this.parent = parent;\n this.source = source;\n var /** @type {?} */ records = this._records = new Map();\n records.set(Injector, /** @type {?} */ ({ token: Injector, fn: IDENT, deps: EMPTY, value: this, useNew: false }));\n recursivelyProcessProviders(records, providers);\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n StaticInjector.prototype.get = /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n function (token, notFoundValue) {\n var /** @type {?} */ record = this._records.get(token);\n try {\n return tryResolveToken(token, record, this._records, this.parent, notFoundValue);\n }\n catch (/** @type {?} */ e) {\n var /** @type {?} */ tokenPath = e[NG_TEMP_TOKEN_PATH];\n if (token[SOURCE]) {\n tokenPath.unshift(token[SOURCE]);\n }\n e.message = formatError('\\n' + e.message, tokenPath, this.source);\n e[NG_TOKEN_PATH] = tokenPath;\n e[NG_TEMP_TOKEN_PATH] = null;\n throw e;\n }\n };\n /**\n * @return {?}\n */\n StaticInjector.prototype.toString = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ tokens = /** @type {?} */ ([]), /** @type {?} */ records = this._records;\n records.forEach(function (v, token) { return tokens.push(stringify(token)); });\n return \"StaticInjector[\" + tokens.join(', ') + \"]\";\n };\n return StaticInjector;\n}());\n/**\n * @param {?} provider\n * @return {?}\n */\nfunction resolveProvider(provider) {\n var /** @type {?} */ deps = computeDeps(provider);\n var /** @type {?} */ fn = IDENT;\n var /** @type {?} */ value = EMPTY;\n var /** @type {?} */ useNew = false;\n var /** @type {?} */ provide = resolveForwardRef(provider.provide);\n if (USE_VALUE in provider) {\n // We need to use USE_VALUE in provider since provider.useValue could be defined as undefined.\n value = (/** @type {?} */ (provider)).useValue;\n }\n else if ((/** @type {?} */ (provider)).useFactory) {\n fn = (/** @type {?} */ (provider)).useFactory;\n }\n else if ((/** @type {?} */ (provider)).useExisting) {\n // Just use IDENT\n }\n else if ((/** @type {?} */ (provider)).useClass) {\n useNew = true;\n fn = resolveForwardRef((/** @type {?} */ (provider)).useClass);\n }\n else if (typeof provide == 'function') {\n useNew = true;\n fn = provide;\n }\n else {\n throw staticError('StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable', provider);\n }\n return { deps: deps, fn: fn, useNew: useNew, value: value };\n}\n/**\n * @param {?} token\n * @return {?}\n */\nfunction multiProviderMixError(token) {\n return staticError('Cannot mix multi providers and regular providers', token);\n}\n/**\n * @param {?} records\n * @param {?} provider\n * @return {?}\n */\nfunction recursivelyProcessProviders(records, provider) {\n if (provider) {\n provider = resolveForwardRef(provider);\n if (provider instanceof Array) {\n // if we have an array recurse into the array\n for (var /** @type {?} */ i = 0; i < provider.length; i++) {\n recursivelyProcessProviders(records, provider[i]);\n }\n }\n else if (typeof provider === 'function') {\n // Functions were supported in ReflectiveInjector, but are not here. For safety give useful\n // error messages\n throw staticError('Function/Class not supported', provider);\n }\n else if (provider && typeof provider === 'object' && provider.provide) {\n // At this point we have what looks like a provider: {provide: ?, ....}\n var /** @type {?} */ token = resolveForwardRef(provider.provide);\n var /** @type {?} */ resolvedProvider = resolveProvider(provider);\n if (provider.multi === true) {\n // This is a multi provider.\n var /** @type {?} */ multiProvider = records.get(token);\n if (multiProvider) {\n if (multiProvider.fn !== MULTI_PROVIDER_FN) {\n throw multiProviderMixError(token);\n }\n }\n else {\n // Create a placeholder factory which will look up the constituents of the multi provider.\n records.set(token, multiProvider = /** @type {?} */ ({\n token: provider.provide,\n deps: [],\n useNew: false,\n fn: MULTI_PROVIDER_FN,\n value: EMPTY\n }));\n }\n // Treat the provider as the token.\n token = provider;\n multiProvider.deps.push({ token: token, options: 6 /* Default */ });\n }\n var /** @type {?} */ record = records.get(token);\n if (record && record.fn == MULTI_PROVIDER_FN) {\n throw multiProviderMixError(token);\n }\n records.set(token, resolvedProvider);\n }\n else {\n throw staticError('Unexpected provider', provider);\n }\n }\n}\n/**\n * @param {?} token\n * @param {?} record\n * @param {?} records\n * @param {?} parent\n * @param {?} notFoundValue\n * @return {?}\n */\nfunction tryResolveToken(token, record, records, parent, notFoundValue) {\n try {\n return resolveToken(token, record, records, parent, notFoundValue);\n }\n catch (/** @type {?} */ e) {\n // ensure that 'e' is of type Error.\n if (!(e instanceof Error)) {\n e = new Error(e);\n }\n var /** @type {?} */ path = e[NG_TEMP_TOKEN_PATH] = e[NG_TEMP_TOKEN_PATH] || [];\n path.unshift(token);\n if (record && record.value == CIRCULAR) {\n // Reset the Circular flag.\n record.value = EMPTY;\n }\n throw e;\n }\n}\n/**\n * @param {?} token\n * @param {?} record\n * @param {?} records\n * @param {?} parent\n * @param {?} notFoundValue\n * @return {?}\n */\nfunction resolveToken(token, record, records, parent, notFoundValue) {\n var /** @type {?} */ value;\n if (record) {\n // If we don't have a record, this implies that we don't own the provider hence don't know how\n // to resolve it.\n value = record.value;\n if (value == CIRCULAR) {\n throw Error(NO_NEW_LINE + 'Circular dependency');\n }\n else if (value === EMPTY) {\n record.value = CIRCULAR;\n var /** @type {?} */ obj = undefined;\n var /** @type {?} */ useNew = record.useNew;\n var /** @type {?} */ fn = record.fn;\n var /** @type {?} */ depRecords = record.deps;\n var /** @type {?} */ deps = EMPTY;\n if (depRecords.length) {\n deps = [];\n for (var /** @type {?} */ i = 0; i < depRecords.length; i++) {\n var /** @type {?} */ depRecord = depRecords[i];\n var /** @type {?} */ options = depRecord.options;\n var /** @type {?} */ childRecord = options & 2 /* CheckSelf */ ? records.get(depRecord.token) : undefined;\n deps.push(tryResolveToken(\n // Current Token to resolve\n depRecord.token, childRecord, records, \n // If we don't know how to resolve dependency and we should not check parent for it,\n // than pass in Null injector.\n !childRecord && !(options & 4 /* CheckParent */) ? NULL_INJECTOR : parent, options & 1 /* Optional */ ? null : Injector.THROW_IF_NOT_FOUND));\n }\n }\n record.value = value = useNew ? new ((_a = (/** @type {?} */ (fn))).bind.apply(_a, [void 0].concat(deps)))() : fn.apply(obj, deps);\n }\n }\n else {\n value = parent.get(token, notFoundValue);\n }\n return value;\n var _a;\n}\n/**\n * @param {?} provider\n * @return {?}\n */\nfunction computeDeps(provider) {\n var /** @type {?} */ deps = EMPTY;\n var /** @type {?} */ providerDeps = (/** @type {?} */ (provider)).deps;\n if (providerDeps && providerDeps.length) {\n deps = [];\n for (var /** @type {?} */ i = 0; i < providerDeps.length; i++) {\n var /** @type {?} */ options = 6;\n var /** @type {?} */ token = resolveForwardRef(providerDeps[i]);\n if (token instanceof Array) {\n for (var /** @type {?} */ j = 0, /** @type {?} */ annotations = token; j < annotations.length; j++) {\n var /** @type {?} */ annotation = annotations[j];\n if (annotation instanceof Optional || annotation == Optional) {\n options = options | 1 /* Optional */;\n }\n else if (annotation instanceof SkipSelf || annotation == SkipSelf) {\n options = options & ~2 /* CheckSelf */;\n }\n else if (annotation instanceof Self || annotation == Self) {\n options = options & ~4 /* CheckParent */;\n }\n else if (annotation instanceof Inject) {\n token = (/** @type {?} */ (annotation)).token;\n }\n else {\n token = resolveForwardRef(annotation);\n }\n }\n }\n deps.push({ token: token, options: options });\n }\n }\n else if ((/** @type {?} */ (provider)).useExisting) {\n var /** @type {?} */ token = resolveForwardRef((/** @type {?} */ (provider)).useExisting);\n deps = [{ token: token, options: 6 /* Default */ }];\n }\n else if (!providerDeps && !(USE_VALUE in provider)) {\n // useValue & useExisting are the only ones which are exempt from deps all others need it.\n throw staticError('\\'deps\\' required', provider);\n }\n return deps;\n}\n/**\n * @param {?} text\n * @param {?} obj\n * @param {?=} source\n * @return {?}\n */\nfunction formatError(text, obj, source) {\n if (source === void 0) { source = null; }\n text = text && text.charAt(0) === '\\n' && text.charAt(1) == NO_NEW_LINE ? text.substr(2) : text;\n var /** @type {?} */ context = stringify(obj);\n if (obj instanceof Array) {\n context = obj.map(stringify).join(' -> ');\n }\n else if (typeof obj === 'object') {\n var /** @type {?} */ parts = /** @type {?} */ ([]);\n for (var /** @type {?} */ key in obj) {\n if (obj.hasOwnProperty(key)) {\n var /** @type {?} */ value = obj[key];\n parts.push(key + ':' + (typeof value === 'string' ? JSON.stringify(value) : stringify(value)));\n }\n }\n context = \"{\" + parts.join(', ') + \"}\";\n }\n return \"StaticInjectorError\" + (source ? '(' + source + ')' : '') + \"[\" + context + \"]: \" + text.replace(NEW_LINE, '\\n ');\n}\n/**\n * @param {?} text\n * @param {?} obj\n * @return {?}\n */\nfunction staticError(text, obj) {\n return new Error(formatError(text, obj));\n}\n/**\n * @template T\n * @param {?} objWithPropertyToExtract\n * @return {?}\n */\nfunction getClosureSafeProperty(objWithPropertyToExtract) {\n for (var /** @type {?} */ key in objWithPropertyToExtract) {\n if (objWithPropertyToExtract[key] === GET_PROPERTY_NAME) {\n return key;\n }\n }\n throw Error('!prop');\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nvar ERROR_DEBUG_CONTEXT = 'ngDebugContext';\nvar ERROR_ORIGINAL_ERROR = 'ngOriginalError';\nvar ERROR_LOGGER = 'ngErrorLogger';\n/**\n * @param {?} error\n * @return {?}\n */\n\n/**\n * @param {?} error\n * @return {?}\n */\nfunction getDebugContext(error) {\n return (/** @type {?} */ (error))[ERROR_DEBUG_CONTEXT];\n}\n/**\n * @param {?} error\n * @return {?}\n */\nfunction getOriginalError(error) {\n return (/** @type {?} */ (error))[ERROR_ORIGINAL_ERROR];\n}\n/**\n * @param {?} error\n * @return {?}\n */\nfunction getErrorLogger(error) {\n return (/** @type {?} */ (error))[ERROR_LOGGER] || defaultErrorLogger;\n}\n/**\n * @param {?} console\n * @param {...?} values\n * @return {?}\n */\nfunction defaultErrorLogger(console) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n console.error.apply(console, values);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Provides a hook for centralized exception handling.\n *\n * \\@description\n *\n * The default implementation of `ErrorHandler` prints error messages to the `console`. To\n * intercept error handling, write a custom exception handler that replaces this default as\n * appropriate for your app.\n *\n * ### Example\n *\n * ```\n * class MyErrorHandler implements ErrorHandler {\n * handleError(error) {\n * // do something with the exception\n * }\n * }\n *\n * \\@NgModule({\n * providers: [{provide: ErrorHandler, useClass: MyErrorHandler}]\n * })\n * class MyModule {}\n * ```\n *\n * \\@stable\n */\nvar ErrorHandler = /** @class */ (function () {\n function ErrorHandler() {\n /**\n * \\@internal\n */\n this._console = console;\n }\n /**\n * @param {?} error\n * @return {?}\n */\n ErrorHandler.prototype.handleError = /**\n * @param {?} error\n * @return {?}\n */\n function (error) {\n var /** @type {?} */ originalError = this._findOriginalError(error);\n var /** @type {?} */ context = this._findContext(error);\n // Note: Browser consoles show the place from where console.error was called.\n // We can use this to give users additional information about the error.\n var /** @type {?} */ errorLogger = getErrorLogger(error);\n errorLogger(this._console, \"ERROR\", error);\n if (originalError) {\n errorLogger(this._console, \"ORIGINAL ERROR\", originalError);\n }\n if (context) {\n errorLogger(this._console, 'ERROR CONTEXT', context);\n }\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n ErrorHandler.prototype._findContext = /**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n function (error) {\n if (error) {\n return getDebugContext(error) ? getDebugContext(error) :\n this._findContext(getOriginalError(error));\n }\n return null;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n ErrorHandler.prototype._findOriginalError = /**\n * \\@internal\n * @param {?} error\n * @return {?}\n */\n function (error) {\n var /** @type {?} */ e = getOriginalError(error);\n while (e && getOriginalError(e)) {\n e = getOriginalError(e);\n }\n return e;\n };\n return ErrorHandler;\n}());\n/**\n * @param {?} message\n * @param {?} originalError\n * @return {?}\n */\nfunction wrappedError(message, originalError) {\n var /** @type {?} */ msg = message + \" caused by: \" + (originalError instanceof Error ? originalError.message : originalError);\n var /** @type {?} */ error = Error(msg);\n (/** @type {?} */ (error))[ERROR_ORIGINAL_ERROR] = originalError;\n return error;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} keys\n * @return {?}\n */\nfunction findFirstClosedCycle(keys) {\n var /** @type {?} */ res = [];\n for (var /** @type {?} */ i = 0; i < keys.length; ++i) {\n if (res.indexOf(keys[i]) > -1) {\n res.push(keys[i]);\n return res;\n }\n res.push(keys[i]);\n }\n return res;\n}\n/**\n * @param {?} keys\n * @return {?}\n */\nfunction constructResolvingPath(keys) {\n if (keys.length > 1) {\n var /** @type {?} */ reversed = findFirstClosedCycle(keys.slice().reverse());\n var /** @type {?} */ tokenStrs = reversed.map(function (k) { return stringify(k.token); });\n return ' (' + tokenStrs.join(' -> ') + ')';\n }\n return '';\n}\n/**\n * @record\n */\n\n/**\n * @param {?} injector\n * @param {?} key\n * @param {?} constructResolvingMessage\n * @param {?=} originalError\n * @return {?}\n */\nfunction injectionError(injector, key, constructResolvingMessage, originalError) {\n var /** @type {?} */ keys = [key];\n var /** @type {?} */ errMsg = constructResolvingMessage(keys);\n var /** @type {?} */ error = /** @type {?} */ ((originalError ? wrappedError(errMsg, originalError) : Error(errMsg)));\n error.addKey = addKey;\n error.keys = keys;\n error.injectors = [injector];\n error.constructResolvingMessage = constructResolvingMessage;\n (/** @type {?} */ (error))[ERROR_ORIGINAL_ERROR] = originalError;\n return error;\n}\n/**\n * @this {?}\n * @param {?} injector\n * @param {?} key\n * @return {?}\n */\nfunction addKey(injector, key) {\n this.injectors.push(injector);\n this.keys.push(key);\n // Note: This updated message won't be reflected in the `.stack` property\n this.message = this.constructResolvingMessage(this.keys);\n}\n/**\n * Thrown when trying to retrieve a dependency by key from {\\@link Injector}, but the\n * {\\@link Injector} does not have a {\\@link Provider} for the given key.\n *\n * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b:B) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n * @param {?} injector\n * @param {?} key\n * @return {?}\n */\nfunction noProviderError(injector, key) {\n return injectionError(injector, key, function (keys) {\n var /** @type {?} */ first = stringify(keys[0].token);\n return \"No provider for \" + first + \"!\" + constructResolvingPath(keys);\n });\n}\n/**\n * Thrown when dependencies form a cycle.\n *\n * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: \"one\", useFactory: (two) => \"two\", deps: [[new Inject(\"two\")]]},\n * {provide: \"two\", useFactory: (one) => \"one\", deps: [[new Inject(\"one\")]]}\n * ]);\n *\n * expect(() => injector.get(\"one\")).toThrowError();\n * ```\n *\n * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.\n * @param {?} injector\n * @param {?} key\n * @return {?}\n */\nfunction cyclicDependencyError(injector, key) {\n return injectionError(injector, key, function (keys) {\n return \"Cannot instantiate cyclic dependency!\" + constructResolvingPath(keys);\n });\n}\n/**\n * Thrown when a constructing type returns with an Error.\n *\n * The `InstantiationError` class contains the original error plus the dependency graph which caused\n * this object to be instantiated.\n *\n * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))\n *\n * ```typescript\n * class A {\n * constructor() {\n * throw new Error('message');\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([A]);\n * try {\n * injector.get(A);\n * } catch (e) {\n * expect(e instanceof InstantiationError).toBe(true);\n * expect(e.originalException.message).toEqual(\"message\");\n * expect(e.originalStack).toBeDefined();\n * }\n * ```\n * @param {?} injector\n * @param {?} originalException\n * @param {?} originalStack\n * @param {?} key\n * @return {?}\n */\nfunction instantiationError(injector, originalException, originalStack, key) {\n return injectionError(injector, key, function (keys) {\n var /** @type {?} */ first = stringify(keys[0].token);\n return originalException.message + \": Error during instantiation of \" + first + \"!\" + constructResolvingPath(keys) + \".\";\n }, originalException);\n}\n/**\n * Thrown when an object other then {\\@link Provider} (or `Type`) is passed to {\\@link Injector}\n * creation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\"not a type\"])).toThrowError();\n * ```\n * @param {?} provider\n * @return {?}\n */\nfunction invalidProviderError(provider) {\n return Error(\"Invalid provider - only instances of Provider and Type are allowed, got: \" + provider);\n}\n/**\n * Thrown when the class has no annotation information.\n *\n * Lack of annotation information prevents the {\\@link Injector} from determining which dependencies\n * need to be injected into the constructor.\n *\n * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n *\n * This error is also thrown when the class not marked with {\\@link Injectable} has parameter types.\n *\n * ```typescript\n * class B {}\n *\n * class A {\n * constructor(b:B) {} // no information about the parameter types of A is available at runtime.\n * }\n *\n * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();\n * ```\n * \\@stable\n * @param {?} typeOrFunc\n * @param {?} params\n * @return {?}\n */\nfunction noAnnotationError(typeOrFunc, params) {\n var /** @type {?} */ signature = [];\n for (var /** @type {?} */ i = 0, /** @type {?} */ ii = params.length; i < ii; i++) {\n var /** @type {?} */ parameter = params[i];\n if (!parameter || parameter.length == 0) {\n signature.push('?');\n }\n else {\n signature.push(parameter.map(stringify).join(' '));\n }\n }\n return Error('Cannot resolve all parameters for \\'' + stringify(typeOrFunc) + '\\'(' +\n signature.join(', ') + '). ' +\n 'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \\'' +\n stringify(typeOrFunc) + '\\' is decorated with Injectable.');\n}\n/**\n * Thrown when getting an object by index.\n *\n * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))\n *\n * ```typescript\n * class A {}\n *\n * var injector = Injector.resolveAndCreate([A]);\n *\n * expect(() => injector.getAt(100)).toThrowError();\n * ```\n * \\@stable\n * @param {?} index\n * @return {?}\n */\nfunction outOfBoundsError(index) {\n return Error(\"Index \" + index + \" is out-of-bounds.\");\n}\n/**\n * Thrown when a multi provider and a regular provider are bound to the same token.\n *\n * ### Example\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\n * { provide: \"Strings\", useValue: \"string1\", multi: true},\n * { provide: \"Strings\", useValue: \"string2\", multi: false}\n * ])).toThrowError();\n * ```\n * @param {?} provider1\n * @param {?} provider2\n * @return {?}\n */\nfunction mixingMultiProvidersWithRegularProvidersError(provider1, provider2) {\n return Error(\"Cannot mix multi providers and regular providers, got: \" + provider1 + \" \" + provider2);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A unique object used for retrieving items from the {\\@link ReflectiveInjector}.\n *\n * Keys have:\n * - a system-wide unique `id`.\n * - a `token`.\n *\n * `Key` is used internally by {\\@link ReflectiveInjector} because its system-wide unique `id` allows\n * the\n * injector to store created objects in a more efficient way.\n *\n * `Key` should not be created directly. {\\@link ReflectiveInjector} creates keys automatically when\n * resolving\n * providers.\n * @deprecated No replacement\n */\nvar ReflectiveKey = /** @class */ (function () {\n /**\n * Private\n */\n function ReflectiveKey(token, id) {\n this.token = token;\n this.id = id;\n if (!token) {\n throw new Error('Token must be defined!');\n }\n this.displayName = stringify(this.token);\n }\n /**\n * Retrieves a `Key` for a token.\n */\n /**\n * Retrieves a `Key` for a token.\n * @param {?} token\n * @return {?}\n */\n ReflectiveKey.get = /**\n * Retrieves a `Key` for a token.\n * @param {?} token\n * @return {?}\n */\n function (token) {\n return _globalKeyRegistry.get(resolveForwardRef(token));\n };\n Object.defineProperty(ReflectiveKey, \"numberOfKeys\", {\n /**\n * @returns the number of keys registered in the system.\n */\n get: /**\n * @return {?} the number of keys registered in the system.\n */\n function () { return _globalKeyRegistry.numberOfKeys; },\n enumerable: true,\n configurable: true\n });\n return ReflectiveKey;\n}());\nvar KeyRegistry = /** @class */ (function () {\n function KeyRegistry() {\n this._allKeys = new Map();\n }\n /**\n * @param {?} token\n * @return {?}\n */\n KeyRegistry.prototype.get = /**\n * @param {?} token\n * @return {?}\n */\n function (token) {\n if (token instanceof ReflectiveKey)\n return token;\n if (this._allKeys.has(token)) {\n return /** @type {?} */ ((this._allKeys.get(token)));\n }\n var /** @type {?} */ newKey = new ReflectiveKey(token, ReflectiveKey.numberOfKeys);\n this._allKeys.set(token, newKey);\n return newKey;\n };\n Object.defineProperty(KeyRegistry.prototype, \"numberOfKeys\", {\n get: /**\n * @return {?}\n */\n function () { return this._allKeys.size; },\n enumerable: true,\n configurable: true\n });\n return KeyRegistry;\n}());\nvar _globalKeyRegistry = new KeyRegistry();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Represents a type that a Component or other object is instances of.\n *\n * \\@description\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by\n * the `MyCustomComponent` constructor function.\n *\n * \\@stable\n */\nvar Type = Function;\n/**\n * @param {?} v\n * @return {?}\n */\nfunction isType(v) {\n return typeof v === 'function';\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Attention: This regex has to hold even if the code is minified!\n */\nvar DELEGATE_CTOR = /^function\\s+\\S+\\(\\)\\s*{[\\s\\S]+\\.apply\\(this,\\s*arguments\\)/;\nvar ReflectionCapabilities = /** @class */ (function () {\n function ReflectionCapabilities(reflect) {\n this._reflect = reflect || _global['Reflect'];\n }\n /**\n * @return {?}\n */\n ReflectionCapabilities.prototype.isReflectionEnabled = /**\n * @return {?}\n */\n function () { return true; };\n /**\n * @template T\n * @param {?} t\n * @return {?}\n */\n ReflectionCapabilities.prototype.factory = /**\n * @template T\n * @param {?} t\n * @return {?}\n */\n function (t) { return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new (t.bind.apply(t, [void 0].concat(args)))();\n }; };\n /** @internal */\n /**\n * \\@internal\n * @param {?} paramTypes\n * @param {?} paramAnnotations\n * @return {?}\n */\n ReflectionCapabilities.prototype._zipTypesAndAnnotations = /**\n * \\@internal\n * @param {?} paramTypes\n * @param {?} paramAnnotations\n * @return {?}\n */\n function (paramTypes, paramAnnotations) {\n var /** @type {?} */ result;\n if (typeof paramTypes === 'undefined') {\n result = new Array(paramAnnotations.length);\n }\n else {\n result = new Array(paramTypes.length);\n }\n for (var /** @type {?} */ i = 0; i < result.length; i++) {\n // TS outputs Object for parameters without types, while Traceur omits\n // the annotations. For now we preserve the Traceur behavior to aid\n // migration, but this can be revisited.\n if (typeof paramTypes === 'undefined') {\n result[i] = [];\n }\n else if (paramTypes[i] != Object) {\n result[i] = [paramTypes[i]];\n }\n else {\n result[i] = [];\n }\n if (paramAnnotations && paramAnnotations[i] != null) {\n result[i] = result[i].concat(paramAnnotations[i]);\n }\n }\n return result;\n };\n /**\n * @param {?} type\n * @param {?} parentCtor\n * @return {?}\n */\n ReflectionCapabilities.prototype._ownParameters = /**\n * @param {?} type\n * @param {?} parentCtor\n * @return {?}\n */\n function (type, parentCtor) {\n // If we have no decorators, we only have function.length as metadata.\n // In that case, to detect whether a child class declared an own constructor or not,\n // we need to look inside of that constructor to check whether it is\n // just calling the parent.\n // This also helps to work around for https://github.com/Microsoft/TypeScript/issues/12439\n // that sets 'design:paramtypes' to []\n // if a class inherits from another class but has no ctor declared itself.\n if (DELEGATE_CTOR.exec(type.toString())) {\n return null;\n }\n // Prefer the direct API.\n if ((/** @type {?} */ (type)).parameters && (/** @type {?} */ (type)).parameters !== parentCtor.parameters) {\n return (/** @type {?} */ (type)).parameters;\n }\n // API of tsickle for lowering decorators to properties on the class.\n var /** @type {?} */ tsickleCtorParams = (/** @type {?} */ (type)).ctorParameters;\n if (tsickleCtorParams && tsickleCtorParams !== parentCtor.ctorParameters) {\n // Newer tsickle uses a function closure\n // Retain the non-function case for compatibility with older tsickle\n var /** @type {?} */ ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;\n var /** @type {?} */ paramTypes_1 = ctorParameters.map(function (ctorParam) { return ctorParam && ctorParam.type; });\n var /** @type {?} */ paramAnnotations_1 = ctorParameters.map(function (ctorParam) {\n return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators);\n });\n return this._zipTypesAndAnnotations(paramTypes_1, paramAnnotations_1);\n }\n // API for metadata created by invoking the decorators.\n var /** @type {?} */ paramAnnotations = type.hasOwnProperty(PARAMETERS) && (/** @type {?} */ (type))[PARAMETERS];\n var /** @type {?} */ paramTypes = this._reflect && this._reflect.getOwnMetadata &&\n this._reflect.getOwnMetadata('design:paramtypes', type);\n if (paramTypes || paramAnnotations) {\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n // If a class has no decorators, at least create metadata\n // based on function.length.\n // Note: We know that this is a real constructor as we checked\n // the content of the constructor above.\n return new Array((/** @type {?} */ (type.length))).fill(undefined);\n };\n /**\n * @param {?} type\n * @return {?}\n */\n ReflectionCapabilities.prototype.parameters = /**\n * @param {?} type\n * @return {?}\n */\n function (type) {\n // Note: only report metadata if we have at least one class decorator\n // to stay in sync with the static reflector.\n if (!isType(type)) {\n return [];\n }\n var /** @type {?} */ parentCtor = getParentCtor(type);\n var /** @type {?} */ parameters = this._ownParameters(type, parentCtor);\n if (!parameters && parentCtor !== Object) {\n parameters = this.parameters(parentCtor);\n }\n return parameters || [];\n };\n /**\n * @param {?} typeOrFunc\n * @param {?} parentCtor\n * @return {?}\n */\n ReflectionCapabilities.prototype._ownAnnotations = /**\n * @param {?} typeOrFunc\n * @param {?} parentCtor\n * @return {?}\n */\n function (typeOrFunc, parentCtor) {\n // Prefer the direct API.\n if ((/** @type {?} */ (typeOrFunc)).annotations && (/** @type {?} */ (typeOrFunc)).annotations !== parentCtor.annotations) {\n var /** @type {?} */ annotations = (/** @type {?} */ (typeOrFunc)).annotations;\n if (typeof annotations === 'function' && annotations.annotations) {\n annotations = annotations.annotations;\n }\n return annotations;\n }\n // API of tsickle for lowering decorators to properties on the class.\n if ((/** @type {?} */ (typeOrFunc)).decorators && (/** @type {?} */ (typeOrFunc)).decorators !== parentCtor.decorators) {\n return convertTsickleDecoratorIntoMetadata((/** @type {?} */ (typeOrFunc)).decorators);\n }\n // API for metadata created by invoking the decorators.\n if (typeOrFunc.hasOwnProperty(ANNOTATIONS)) {\n return (/** @type {?} */ (typeOrFunc))[ANNOTATIONS];\n }\n return null;\n };\n /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n ReflectionCapabilities.prototype.annotations = /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n function (typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return [];\n }\n var /** @type {?} */ parentCtor = getParentCtor(typeOrFunc);\n var /** @type {?} */ ownAnnotations = this._ownAnnotations(typeOrFunc, parentCtor) || [];\n var /** @type {?} */ parentAnnotations = parentCtor !== Object ? this.annotations(parentCtor) : [];\n return parentAnnotations.concat(ownAnnotations);\n };\n /**\n * @param {?} typeOrFunc\n * @param {?} parentCtor\n * @return {?}\n */\n ReflectionCapabilities.prototype._ownPropMetadata = /**\n * @param {?} typeOrFunc\n * @param {?} parentCtor\n * @return {?}\n */\n function (typeOrFunc, parentCtor) {\n // Prefer the direct API.\n if ((/** @type {?} */ (typeOrFunc)).propMetadata &&\n (/** @type {?} */ (typeOrFunc)).propMetadata !== parentCtor.propMetadata) {\n var /** @type {?} */ propMetadata = (/** @type {?} */ (typeOrFunc)).propMetadata;\n if (typeof propMetadata === 'function' && propMetadata.propMetadata) {\n propMetadata = propMetadata.propMetadata;\n }\n return propMetadata;\n }\n // API of tsickle for lowering decorators to properties on the class.\n if ((/** @type {?} */ (typeOrFunc)).propDecorators &&\n (/** @type {?} */ (typeOrFunc)).propDecorators !== parentCtor.propDecorators) {\n var /** @type {?} */ propDecorators_1 = (/** @type {?} */ (typeOrFunc)).propDecorators;\n var /** @type {?} */ propMetadata_1 = /** @type {?} */ ({});\n Object.keys(propDecorators_1).forEach(function (prop) {\n propMetadata_1[prop] = convertTsickleDecoratorIntoMetadata(propDecorators_1[prop]);\n });\n return propMetadata_1;\n }\n // API for metadata created by invoking the decorators.\n if (typeOrFunc.hasOwnProperty(PROP_METADATA)) {\n return (/** @type {?} */ (typeOrFunc))[PROP_METADATA];\n }\n return null;\n };\n /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n ReflectionCapabilities.prototype.propMetadata = /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n function (typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return {};\n }\n var /** @type {?} */ parentCtor = getParentCtor(typeOrFunc);\n var /** @type {?} */ propMetadata = {};\n if (parentCtor !== Object) {\n var /** @type {?} */ parentPropMetadata_1 = this.propMetadata(parentCtor);\n Object.keys(parentPropMetadata_1).forEach(function (propName) {\n propMetadata[propName] = parentPropMetadata_1[propName];\n });\n }\n var /** @type {?} */ ownPropMetadata = this._ownPropMetadata(typeOrFunc, parentCtor);\n if (ownPropMetadata) {\n Object.keys(ownPropMetadata).forEach(function (propName) {\n var /** @type {?} */ decorators = [];\n if (propMetadata.hasOwnProperty(propName)) {\n decorators.push.apply(decorators, propMetadata[propName]);\n }\n decorators.push.apply(decorators, ownPropMetadata[propName]);\n propMetadata[propName] = decorators;\n });\n }\n return propMetadata;\n };\n /**\n * @param {?} type\n * @param {?} lcProperty\n * @return {?}\n */\n ReflectionCapabilities.prototype.hasLifecycleHook = /**\n * @param {?} type\n * @param {?} lcProperty\n * @return {?}\n */\n function (type, lcProperty) {\n return type instanceof Type && lcProperty in type.prototype;\n };\n /**\n * @param {?} type\n * @return {?}\n */\n ReflectionCapabilities.prototype.guards = /**\n * @param {?} type\n * @return {?}\n */\n function (type) { return {}; };\n /**\n * @param {?} name\n * @return {?}\n */\n ReflectionCapabilities.prototype.getter = /**\n * @param {?} name\n * @return {?}\n */\n function (name) { return /** @type {?} */ (new Function('o', 'return o.' + name + ';')); };\n /**\n * @param {?} name\n * @return {?}\n */\n ReflectionCapabilities.prototype.setter = /**\n * @param {?} name\n * @return {?}\n */\n function (name) {\n return /** @type {?} */ (new Function('o', 'v', 'return o.' + name + ' = v;'));\n };\n /**\n * @param {?} name\n * @return {?}\n */\n ReflectionCapabilities.prototype.method = /**\n * @param {?} name\n * @return {?}\n */\n function (name) {\n var /** @type {?} */ functionBody = \"if (!o.\" + name + \") throw new Error('\\\"\" + name + \"\\\" is undefined');\\n return o.\" + name + \".apply(o, args);\";\n return /** @type {?} */ (new Function('o', 'args', functionBody));\n };\n // There is not a concept of import uri in Js, but this is useful in developing Dart applications.\n /**\n * @param {?} type\n * @return {?}\n */\n ReflectionCapabilities.prototype.importUri = /**\n * @param {?} type\n * @return {?}\n */\n function (type) {\n // StaticSymbol\n if (typeof type === 'object' && type['filePath']) {\n return type['filePath'];\n }\n // Runtime type\n return \"./\" + stringify(type);\n };\n /**\n * @param {?} type\n * @return {?}\n */\n ReflectionCapabilities.prototype.resourceUri = /**\n * @param {?} type\n * @return {?}\n */\n function (type) { return \"./\" + stringify(type); };\n /**\n * @param {?} name\n * @param {?} moduleUrl\n * @param {?} members\n * @param {?} runtime\n * @return {?}\n */\n ReflectionCapabilities.prototype.resolveIdentifier = /**\n * @param {?} name\n * @param {?} moduleUrl\n * @param {?} members\n * @param {?} runtime\n * @return {?}\n */\n function (name, moduleUrl, members, runtime) {\n return runtime;\n };\n /**\n * @param {?} enumIdentifier\n * @param {?} name\n * @return {?}\n */\n ReflectionCapabilities.prototype.resolveEnum = /**\n * @param {?} enumIdentifier\n * @param {?} name\n * @return {?}\n */\n function (enumIdentifier, name) { return enumIdentifier[name]; };\n return ReflectionCapabilities;\n}());\n/**\n * @param {?} decoratorInvocations\n * @return {?}\n */\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations) {\n if (!decoratorInvocations) {\n return [];\n }\n return decoratorInvocations.map(function (decoratorInvocation) {\n var /** @type {?} */ decoratorType = decoratorInvocation.type;\n var /** @type {?} */ annotationCls = decoratorType.annotationCls;\n var /** @type {?} */ annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n return new (annotationCls.bind.apply(annotationCls, [void 0].concat(annotationArgs)))();\n });\n}\n/**\n * @param {?} ctor\n * @return {?}\n */\nfunction getParentCtor(ctor) {\n var /** @type {?} */ parentProto = Object.getPrototypeOf(ctor.prototype);\n var /** @type {?} */ parentCtor = parentProto ? parentProto.constructor : null;\n // Note: We always use `Object` as the null value\n // to simplify checking later on.\n return parentCtor || Object;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides access to reflection data about symbols. Used internally by Angular\n * to power dependency injection and compilation.\n */\nvar Reflector = /** @class */ (function () {\n function Reflector(reflectionCapabilities) {\n this.reflectionCapabilities = reflectionCapabilities;\n }\n /**\n * @param {?} caps\n * @return {?}\n */\n Reflector.prototype.updateCapabilities = /**\n * @param {?} caps\n * @return {?}\n */\n function (caps) { this.reflectionCapabilities = caps; };\n /**\n * @param {?} type\n * @return {?}\n */\n Reflector.prototype.factory = /**\n * @param {?} type\n * @return {?}\n */\n function (type) { return this.reflectionCapabilities.factory(type); };\n /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n Reflector.prototype.parameters = /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n function (typeOrFunc) {\n return this.reflectionCapabilities.parameters(typeOrFunc);\n };\n /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n Reflector.prototype.annotations = /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n function (typeOrFunc) {\n return this.reflectionCapabilities.annotations(typeOrFunc);\n };\n /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n Reflector.prototype.propMetadata = /**\n * @param {?} typeOrFunc\n * @return {?}\n */\n function (typeOrFunc) {\n return this.reflectionCapabilities.propMetadata(typeOrFunc);\n };\n /**\n * @param {?} type\n * @param {?} lcProperty\n * @return {?}\n */\n Reflector.prototype.hasLifecycleHook = /**\n * @param {?} type\n * @param {?} lcProperty\n * @return {?}\n */\n function (type, lcProperty) {\n return this.reflectionCapabilities.hasLifecycleHook(type, lcProperty);\n };\n /**\n * @param {?} name\n * @return {?}\n */\n Reflector.prototype.getter = /**\n * @param {?} name\n * @return {?}\n */\n function (name) { return this.reflectionCapabilities.getter(name); };\n /**\n * @param {?} name\n * @return {?}\n */\n Reflector.prototype.setter = /**\n * @param {?} name\n * @return {?}\n */\n function (name) { return this.reflectionCapabilities.setter(name); };\n /**\n * @param {?} name\n * @return {?}\n */\n Reflector.prototype.method = /**\n * @param {?} name\n * @return {?}\n */\n function (name) { return this.reflectionCapabilities.method(name); };\n /**\n * @param {?} type\n * @return {?}\n */\n Reflector.prototype.importUri = /**\n * @param {?} type\n * @return {?}\n */\n function (type) { return this.reflectionCapabilities.importUri(type); };\n /**\n * @param {?} type\n * @return {?}\n */\n Reflector.prototype.resourceUri = /**\n * @param {?} type\n * @return {?}\n */\n function (type) { return this.reflectionCapabilities.resourceUri(type); };\n /**\n * @param {?} name\n * @param {?} moduleUrl\n * @param {?} members\n * @param {?} runtime\n * @return {?}\n */\n Reflector.prototype.resolveIdentifier = /**\n * @param {?} name\n * @param {?} moduleUrl\n * @param {?} members\n * @param {?} runtime\n * @return {?}\n */\n function (name, moduleUrl, members, runtime) {\n return this.reflectionCapabilities.resolveIdentifier(name, moduleUrl, members, runtime);\n };\n /**\n * @param {?} identifier\n * @param {?} name\n * @return {?}\n */\n Reflector.prototype.resolveEnum = /**\n * @param {?} identifier\n * @param {?} name\n * @return {?}\n */\n function (identifier, name) {\n return this.reflectionCapabilities.resolveEnum(identifier, name);\n };\n return Reflector;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The {\\@link Reflector} used internally in Angular to access metadata\n * about symbols.\n */\nvar reflector = new Reflector(new ReflectionCapabilities());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * `Dependency` is used by the framework to extend DI.\n * This is internal to Angular and should not be used directly.\n */\nvar ReflectiveDependency = /** @class */ (function () {\n function ReflectiveDependency(key, optional, visibility) {\n this.key = key;\n this.optional = optional;\n this.visibility = visibility;\n }\n /**\n * @param {?} key\n * @return {?}\n */\n ReflectiveDependency.fromKey = /**\n * @param {?} key\n * @return {?}\n */\n function (key) {\n return new ReflectiveDependency(key, false, null);\n };\n return ReflectiveDependency;\n}());\nvar _EMPTY_LIST = [];\n/**\n * An internal resolved representation of a {\\@link Provider} used by the {\\@link Injector}.\n *\n * It is usually created automatically by `Injector.resolveAndCreate`.\n *\n * It can be created manually, as follows:\n *\n * ### Example ([live demo](http://plnkr.co/edit/RfEnhh8kUEI0G3qsnIeT?p%3Dpreview&p=preview))\n *\n * ```typescript\n * var resolvedProviders = Injector.resolve([{ provide: 'message', useValue: 'Hello' }]);\n * var injector = Injector.fromResolvedProviders(resolvedProviders);\n *\n * expect(injector.get('message')).toEqual('Hello');\n * ```\n *\n * \\@experimental\n * @record\n */\n\nvar ResolvedReflectiveProvider_ = /** @class */ (function () {\n function ResolvedReflectiveProvider_(key, resolvedFactories, multiProvider) {\n this.key = key;\n this.resolvedFactories = resolvedFactories;\n this.multiProvider = multiProvider;\n this.resolvedFactory = this.resolvedFactories[0];\n }\n return ResolvedReflectiveProvider_;\n}());\n/**\n * An internal resolved representation of a factory function created by resolving {\\@link\n * Provider}.\n * \\@experimental\n */\nvar ResolvedReflectiveFactory = /** @class */ (function () {\n function ResolvedReflectiveFactory(factory, dependencies) {\n this.factory = factory;\n this.dependencies = dependencies;\n }\n return ResolvedReflectiveFactory;\n}());\n/**\n * Resolve a single provider.\n * @param {?} provider\n * @return {?}\n */\nfunction resolveReflectiveFactory(provider) {\n var /** @type {?} */ factoryFn;\n var /** @type {?} */ resolvedDeps;\n if (provider.useClass) {\n var /** @type {?} */ useClass = resolveForwardRef(provider.useClass);\n factoryFn = reflector.factory(useClass);\n resolvedDeps = _dependenciesFor(useClass);\n }\n else if (provider.useExisting) {\n factoryFn = function (aliasInstance) { return aliasInstance; };\n resolvedDeps = [ReflectiveDependency.fromKey(ReflectiveKey.get(provider.useExisting))];\n }\n else if (provider.useFactory) {\n factoryFn = provider.useFactory;\n resolvedDeps = constructDependencies(provider.useFactory, provider.deps);\n }\n else {\n factoryFn = function () { return provider.useValue; };\n resolvedDeps = _EMPTY_LIST;\n }\n return new ResolvedReflectiveFactory(factoryFn, resolvedDeps);\n}\n/**\n * Converts the {\\@link Provider} into {\\@link ResolvedProvider}.\n *\n * {\\@link Injector} internally only uses {\\@link ResolvedProvider}, {\\@link Provider} contains\n * convenience provider syntax.\n * @param {?} provider\n * @return {?}\n */\nfunction resolveReflectiveProvider(provider) {\n return new ResolvedReflectiveProvider_(ReflectiveKey.get(provider.provide), [resolveReflectiveFactory(provider)], provider.multi || false);\n}\n/**\n * Resolve a list of Providers.\n * @param {?} providers\n * @return {?}\n */\nfunction resolveReflectiveProviders(providers) {\n var /** @type {?} */ normalized = _normalizeProviders(providers, []);\n var /** @type {?} */ resolved = normalized.map(resolveReflectiveProvider);\n var /** @type {?} */ resolvedProviderMap = mergeResolvedReflectiveProviders(resolved, new Map());\n return Array.from(resolvedProviderMap.values());\n}\n/**\n * Merges a list of ResolvedProviders into a list where\n * each key is contained exactly once and multi providers\n * have been merged.\n * @param {?} providers\n * @param {?} normalizedProvidersMap\n * @return {?}\n */\nfunction mergeResolvedReflectiveProviders(providers, normalizedProvidersMap) {\n for (var /** @type {?} */ i = 0; i < providers.length; i++) {\n var /** @type {?} */ provider = providers[i];\n var /** @type {?} */ existing = normalizedProvidersMap.get(provider.key.id);\n if (existing) {\n if (provider.multiProvider !== existing.multiProvider) {\n throw mixingMultiProvidersWithRegularProvidersError(existing, provider);\n }\n if (provider.multiProvider) {\n for (var /** @type {?} */ j = 0; j < provider.resolvedFactories.length; j++) {\n existing.resolvedFactories.push(provider.resolvedFactories[j]);\n }\n }\n else {\n normalizedProvidersMap.set(provider.key.id, provider);\n }\n }\n else {\n var /** @type {?} */ resolvedProvider = void 0;\n if (provider.multiProvider) {\n resolvedProvider = new ResolvedReflectiveProvider_(provider.key, provider.resolvedFactories.slice(), provider.multiProvider);\n }\n else {\n resolvedProvider = provider;\n }\n normalizedProvidersMap.set(provider.key.id, resolvedProvider);\n }\n }\n return normalizedProvidersMap;\n}\n/**\n * @param {?} providers\n * @param {?} res\n * @return {?}\n */\nfunction _normalizeProviders(providers, res) {\n providers.forEach(function (b) {\n if (b instanceof Type) {\n res.push({ provide: b, useClass: b });\n }\n else if (b && typeof b == 'object' && (/** @type {?} */ (b)).provide !== undefined) {\n res.push(/** @type {?} */ (b));\n }\n else if (b instanceof Array) {\n _normalizeProviders(b, res);\n }\n else {\n throw invalidProviderError(b);\n }\n });\n return res;\n}\n/**\n * @param {?} typeOrFunc\n * @param {?=} dependencies\n * @return {?}\n */\nfunction constructDependencies(typeOrFunc, dependencies) {\n if (!dependencies) {\n return _dependenciesFor(typeOrFunc);\n }\n else {\n var /** @type {?} */ params_1 = dependencies.map(function (t) { return [t]; });\n return dependencies.map(function (t) { return _extractToken(typeOrFunc, t, params_1); });\n }\n}\n/**\n * @param {?} typeOrFunc\n * @return {?}\n */\nfunction _dependenciesFor(typeOrFunc) {\n var /** @type {?} */ params = reflector.parameters(typeOrFunc);\n if (!params)\n return [];\n if (params.some(function (p) { return p == null; })) {\n throw noAnnotationError(typeOrFunc, params);\n }\n return params.map(function (p) { return _extractToken(typeOrFunc, p, params); });\n}\n/**\n * @param {?} typeOrFunc\n * @param {?} metadata\n * @param {?} params\n * @return {?}\n */\nfunction _extractToken(typeOrFunc, metadata, params) {\n var /** @type {?} */ token = null;\n var /** @type {?} */ optional = false;\n if (!Array.isArray(metadata)) {\n if (metadata instanceof Inject) {\n return _createDependency(metadata.token, optional, null);\n }\n else {\n return _createDependency(metadata, optional, null);\n }\n }\n var /** @type {?} */ visibility = null;\n for (var /** @type {?} */ i = 0; i < metadata.length; ++i) {\n var /** @type {?} */ paramMetadata = metadata[i];\n if (paramMetadata instanceof Type) {\n token = paramMetadata;\n }\n else if (paramMetadata instanceof Inject) {\n token = paramMetadata.token;\n }\n else if (paramMetadata instanceof Optional) {\n optional = true;\n }\n else if (paramMetadata instanceof Self || paramMetadata instanceof SkipSelf) {\n visibility = paramMetadata;\n }\n else if (paramMetadata instanceof InjectionToken) {\n token = paramMetadata;\n }\n }\n token = resolveForwardRef(token);\n if (token != null) {\n return _createDependency(token, optional, visibility);\n }\n else {\n throw noAnnotationError(typeOrFunc, params);\n }\n}\n/**\n * @param {?} token\n * @param {?} optional\n * @param {?} visibility\n * @return {?}\n */\nfunction _createDependency(token, optional, visibility) {\n return new ReflectiveDependency(ReflectiveKey.get(token), optional, visibility);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Threshold for the dynamic version\nvar UNDEFINED = new Object();\n/**\n * A ReflectiveDependency injection container used for instantiating objects and resolving\n * dependencies.\n *\n * An `Injector` is a replacement for a `new` operator, which can automatically resolve the\n * constructor dependencies.\n *\n * In typical use, application code asks for the dependencies in the constructor and they are\n * resolved by the `Injector`.\n *\n * ### Example ([live demo](http://plnkr.co/edit/jzjec0?p=preview))\n *\n * The following example creates an `Injector` configured to create `Engine` and `Car`.\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * var car = injector.get(Car);\n * expect(car instanceof Car).toBe(true);\n * expect(car.engine instanceof Engine).toBe(true);\n * ```\n *\n * Notice, we don't use the `new` operator because we explicitly want to have the `Injector`\n * resolve all of the object's dependencies automatically.\n *\n * @deprecated from v5 - slow and brings in a lot of code, Use `Injector.create` instead.\n * @abstract\n */\nvar ReflectiveInjector = /** @class */ (function () {\n function ReflectiveInjector() {\n }\n /**\n * Turns an array of provider definitions into an array of resolved providers.\n *\n * A resolution is a process of flattening multiple nested arrays and converting individual\n * providers into an array of {@link ResolvedReflectiveProvider}s.\n *\n * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]);\n *\n * expect(providers.length).toEqual(2);\n *\n * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true);\n * expect(providers[0].key.displayName).toBe(\"Car\");\n * expect(providers[0].dependencies.length).toEqual(1);\n * expect(providers[0].factory).toBeDefined();\n *\n * expect(providers[1].key.displayName).toBe(\"Engine\");\n * });\n * ```\n *\n * See {@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info.\n */\n /**\n * Turns an array of provider definitions into an array of resolved providers.\n *\n * A resolution is a process of flattening multiple nested arrays and converting individual\n * providers into an array of {\\@link ResolvedReflectiveProvider}s.\n *\n * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]);\n *\n * expect(providers.length).toEqual(2);\n *\n * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true);\n * expect(providers[0].key.displayName).toBe(\"Car\");\n * expect(providers[0].dependencies.length).toEqual(1);\n * expect(providers[0].factory).toBeDefined();\n *\n * expect(providers[1].key.displayName).toBe(\"Engine\");\n * });\n * ```\n *\n * See {\\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info.\n * @param {?} providers\n * @return {?}\n */\n ReflectiveInjector.resolve = /**\n * Turns an array of provider definitions into an array of resolved providers.\n *\n * A resolution is a process of flattening multiple nested arrays and converting individual\n * providers into an array of {\\@link ResolvedReflectiveProvider}s.\n *\n * ### Example ([live demo](http://plnkr.co/edit/AiXTHi?p=preview))\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, [[Engine]]]);\n *\n * expect(providers.length).toEqual(2);\n *\n * expect(providers[0] instanceof ResolvedReflectiveProvider).toBe(true);\n * expect(providers[0].key.displayName).toBe(\"Car\");\n * expect(providers[0].dependencies.length).toEqual(1);\n * expect(providers[0].factory).toBeDefined();\n *\n * expect(providers[1].key.displayName).toBe(\"Engine\");\n * });\n * ```\n *\n * See {\\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders} for more info.\n * @param {?} providers\n * @return {?}\n */\n function (providers) {\n return resolveReflectiveProviders(providers);\n };\n /**\n * Resolves an array of providers and creates an injector from those providers.\n *\n * The passed-in providers can be an array of `Type`, {@link Provider},\n * or a recursive array of more providers.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n *\n * This function is slower than the corresponding `fromResolvedProviders`\n * because it needs to resolve the passed-in providers first.\n * See {@link ReflectiveInjector#resolve resolve} and\n * {@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}.\n */\n /**\n * Resolves an array of providers and creates an injector from those providers.\n *\n * The passed-in providers can be an array of `Type`, {\\@link Provider},\n * or a recursive array of more providers.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n *\n * This function is slower than the corresponding `fromResolvedProviders`\n * because it needs to resolve the passed-in providers first.\n * See {\\@link ReflectiveInjector#resolve resolve} and\n * {\\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}.\n * @param {?} providers\n * @param {?=} parent\n * @return {?}\n */\n ReflectiveInjector.resolveAndCreate = /**\n * Resolves an array of providers and creates an injector from those providers.\n *\n * The passed-in providers can be an array of `Type`, {\\@link Provider},\n * or a recursive array of more providers.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ePOccA?p=preview))\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var injector = ReflectiveInjector.resolveAndCreate([Car, Engine]);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n *\n * This function is slower than the corresponding `fromResolvedProviders`\n * because it needs to resolve the passed-in providers first.\n * See {\\@link ReflectiveInjector#resolve resolve} and\n * {\\@link ReflectiveInjector#fromResolvedProviders fromResolvedProviders}.\n * @param {?} providers\n * @param {?=} parent\n * @return {?}\n */\n function (providers, parent) {\n var /** @type {?} */ ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n return ReflectiveInjector.fromResolvedProviders(ResolvedReflectiveProviders, parent);\n };\n /**\n * Creates an injector from previously resolved providers.\n *\n * This API is the recommended way to construct injectors in performance-sensitive parts.\n *\n * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class Engine {\n * }\n *\n * @Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, Engine]);\n * var injector = ReflectiveInjector.fromResolvedProviders(providers);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n * @experimental\n */\n /**\n * Creates an injector from previously resolved providers.\n *\n * This API is the recommended way to construct injectors in performance-sensitive parts.\n *\n * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, Engine]);\n * var injector = ReflectiveInjector.fromResolvedProviders(providers);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n * \\@experimental\n * @param {?} providers\n * @param {?=} parent\n * @return {?}\n */\n ReflectiveInjector.fromResolvedProviders = /**\n * Creates an injector from previously resolved providers.\n *\n * This API is the recommended way to construct injectors in performance-sensitive parts.\n *\n * ### Example ([live demo](http://plnkr.co/edit/KrSMci?p=preview))\n *\n * ```typescript\n * \\@Injectable()\n * class Engine {\n * }\n *\n * \\@Injectable()\n * class Car {\n * constructor(public engine:Engine) {}\n * }\n *\n * var providers = ReflectiveInjector.resolve([Car, Engine]);\n * var injector = ReflectiveInjector.fromResolvedProviders(providers);\n * expect(injector.get(Car) instanceof Car).toBe(true);\n * ```\n * \\@experimental\n * @param {?} providers\n * @param {?=} parent\n * @return {?}\n */\n function (providers, parent) {\n return new ReflectiveInjector_(providers, parent);\n };\n return ReflectiveInjector;\n}());\nvar ReflectiveInjector_ = /** @class */ (function () {\n /**\n * Private\n */\n function ReflectiveInjector_(_providers, _parent) {\n /**\n * \\@internal\n */\n this._constructionCounter = 0;\n this._providers = _providers;\n this.parent = _parent || null;\n var /** @type {?} */ len = _providers.length;\n this.keyIds = new Array(len);\n this.objs = new Array(len);\n for (var /** @type {?} */ i = 0; i < len; i++) {\n this.keyIds[i] = _providers[i].key.id;\n this.objs[i] = UNDEFINED;\n }\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n ReflectiveInjector_.prototype.get = /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }\n return this._getByKey(ReflectiveKey.get(token), null, notFoundValue);\n };\n /**\n * @param {?} providers\n * @return {?}\n */\n ReflectiveInjector_.prototype.resolveAndCreateChild = /**\n * @param {?} providers\n * @return {?}\n */\n function (providers) {\n var /** @type {?} */ ResolvedReflectiveProviders = ReflectiveInjector.resolve(providers);\n return this.createChildFromResolved(ResolvedReflectiveProviders);\n };\n /**\n * @param {?} providers\n * @return {?}\n */\n ReflectiveInjector_.prototype.createChildFromResolved = /**\n * @param {?} providers\n * @return {?}\n */\n function (providers) {\n var /** @type {?} */ inj = new ReflectiveInjector_(providers);\n (/** @type {?} */ (inj)).parent = this;\n return inj;\n };\n /**\n * @param {?} provider\n * @return {?}\n */\n ReflectiveInjector_.prototype.resolveAndInstantiate = /**\n * @param {?} provider\n * @return {?}\n */\n function (provider) {\n return this.instantiateResolved(ReflectiveInjector.resolve([provider])[0]);\n };\n /**\n * @param {?} provider\n * @return {?}\n */\n ReflectiveInjector_.prototype.instantiateResolved = /**\n * @param {?} provider\n * @return {?}\n */\n function (provider) {\n return this._instantiateProvider(provider);\n };\n /**\n * @param {?} index\n * @return {?}\n */\n ReflectiveInjector_.prototype.getProviderAtIndex = /**\n * @param {?} index\n * @return {?}\n */\n function (index) {\n if (index < 0 || index >= this._providers.length) {\n throw outOfBoundsError(index);\n }\n return this._providers[index];\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} provider\n * @return {?}\n */\n ReflectiveInjector_.prototype._new = /**\n * \\@internal\n * @param {?} provider\n * @return {?}\n */\n function (provider) {\n if (this._constructionCounter++ > this._getMaxNumberOfObjects()) {\n throw cyclicDependencyError(this, provider.key);\n }\n return this._instantiateProvider(provider);\n };\n /**\n * @return {?}\n */\n ReflectiveInjector_.prototype._getMaxNumberOfObjects = /**\n * @return {?}\n */\n function () { return this.objs.length; };\n /**\n * @param {?} provider\n * @return {?}\n */\n ReflectiveInjector_.prototype._instantiateProvider = /**\n * @param {?} provider\n * @return {?}\n */\n function (provider) {\n if (provider.multiProvider) {\n var /** @type {?} */ res = new Array(provider.resolvedFactories.length);\n for (var /** @type {?} */ i = 0; i < provider.resolvedFactories.length; ++i) {\n res[i] = this._instantiate(provider, provider.resolvedFactories[i]);\n }\n return res;\n }\n else {\n return this._instantiate(provider, provider.resolvedFactories[0]);\n }\n };\n /**\n * @param {?} provider\n * @param {?} ResolvedReflectiveFactory\n * @return {?}\n */\n ReflectiveInjector_.prototype._instantiate = /**\n * @param {?} provider\n * @param {?} ResolvedReflectiveFactory\n * @return {?}\n */\n function (provider, ResolvedReflectiveFactory$$1) {\n var _this = this;\n var /** @type {?} */ factory = ResolvedReflectiveFactory$$1.factory;\n var /** @type {?} */ deps;\n try {\n deps =\n ResolvedReflectiveFactory$$1.dependencies.map(function (dep) { return _this._getByReflectiveDependency(dep); });\n }\n catch (/** @type {?} */ e) {\n if (e.addKey) {\n e.addKey(this, provider.key);\n }\n throw e;\n }\n var /** @type {?} */ obj;\n try {\n obj = factory.apply(void 0, deps);\n }\n catch (/** @type {?} */ e) {\n throw instantiationError(this, e, e.stack, provider.key);\n }\n return obj;\n };\n /**\n * @param {?} dep\n * @return {?}\n */\n ReflectiveInjector_.prototype._getByReflectiveDependency = /**\n * @param {?} dep\n * @return {?}\n */\n function (dep) {\n return this._getByKey(dep.key, dep.visibility, dep.optional ? null : THROW_IF_NOT_FOUND);\n };\n /**\n * @param {?} key\n * @param {?} visibility\n * @param {?} notFoundValue\n * @return {?}\n */\n ReflectiveInjector_.prototype._getByKey = /**\n * @param {?} key\n * @param {?} visibility\n * @param {?} notFoundValue\n * @return {?}\n */\n function (key, visibility, notFoundValue) {\n if (key === ReflectiveInjector_.INJECTOR_KEY) {\n return this;\n }\n if (visibility instanceof Self) {\n return this._getByKeySelf(key, notFoundValue);\n }\n else {\n return this._getByKeyDefault(key, notFoundValue, visibility);\n }\n };\n /**\n * @param {?} keyId\n * @return {?}\n */\n ReflectiveInjector_.prototype._getObjByKeyId = /**\n * @param {?} keyId\n * @return {?}\n */\n function (keyId) {\n for (var /** @type {?} */ i = 0; i < this.keyIds.length; i++) {\n if (this.keyIds[i] === keyId) {\n if (this.objs[i] === UNDEFINED) {\n this.objs[i] = this._new(this._providers[i]);\n }\n return this.objs[i];\n }\n }\n return UNDEFINED;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} key\n * @param {?} notFoundValue\n * @return {?}\n */\n ReflectiveInjector_.prototype._throwOrNull = /**\n * \\@internal\n * @param {?} key\n * @param {?} notFoundValue\n * @return {?}\n */\n function (key, notFoundValue) {\n if (notFoundValue !== THROW_IF_NOT_FOUND) {\n return notFoundValue;\n }\n else {\n throw noProviderError(this, key);\n }\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} key\n * @param {?} notFoundValue\n * @return {?}\n */\n ReflectiveInjector_.prototype._getByKeySelf = /**\n * \\@internal\n * @param {?} key\n * @param {?} notFoundValue\n * @return {?}\n */\n function (key, notFoundValue) {\n var /** @type {?} */ obj = this._getObjByKeyId(key.id);\n return (obj !== UNDEFINED) ? obj : this._throwOrNull(key, notFoundValue);\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} key\n * @param {?} notFoundValue\n * @param {?} visibility\n * @return {?}\n */\n ReflectiveInjector_.prototype._getByKeyDefault = /**\n * \\@internal\n * @param {?} key\n * @param {?} notFoundValue\n * @param {?} visibility\n * @return {?}\n */\n function (key, notFoundValue, visibility) {\n var /** @type {?} */ inj;\n if (visibility instanceof SkipSelf) {\n inj = this.parent;\n }\n else {\n inj = this;\n }\n while (inj instanceof ReflectiveInjector_) {\n var /** @type {?} */ inj_ = /** @type {?} */ (inj);\n var /** @type {?} */ obj = inj_._getObjByKeyId(key.id);\n if (obj !== UNDEFINED)\n return obj;\n inj = inj_.parent;\n }\n if (inj !== null) {\n return inj.get(key.token, notFoundValue);\n }\n else {\n return this._throwOrNull(key, notFoundValue);\n }\n };\n Object.defineProperty(ReflectiveInjector_.prototype, \"displayName\", {\n get: /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ providers = _mapProviders(this, function (b) { return ' \"' + b.key.displayName + '\" '; })\n .join(', ');\n return \"ReflectiveInjector(providers: [\" + providers + \"])\";\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n ReflectiveInjector_.prototype.toString = /**\n * @return {?}\n */\n function () { return this.displayName; };\n ReflectiveInjector_.INJECTOR_KEY = ReflectiveKey.get(Injector);\n return ReflectiveInjector_;\n}());\n/**\n * @param {?} injector\n * @param {?} fn\n * @return {?}\n */\nfunction _mapProviders(injector, fn) {\n var /** @type {?} */ res = new Array(injector._providers.length);\n for (var /** @type {?} */ i = 0; i < injector._providers.length; ++i) {\n res[i] = fn(injector.getProviderAtIndex(i));\n }\n return res;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * The `di` module provides dependency injection container services.\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Determine if the argument is shaped like a Promise\n * @param {?} obj\n * @return {?}\n */\nfunction isPromise(obj) {\n // allow any Promise/A+ compliant thenable.\n // It's up to the caller to ensure that obj.then conforms to the spec\n return !!obj && typeof obj.then === 'function';\n}\n/**\n * Determine if the argument is an Observable\n * @param {?} obj\n * @return {?}\n */\nfunction isObservable(obj) {\n // TODO use Symbol.observable when https://github.com/ReactiveX/rxjs/issues/2415 will be resolved\n return !!obj && typeof obj.subscribe === 'function';\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A function that will be executed when an application is initialized.\n * \\@experimental\n */\nvar APP_INITIALIZER = new InjectionToken('Application Initializer');\n/**\n * A class that reflects the state of running {\\@link APP_INITIALIZER}s.\n *\n * \\@experimental\n */\nvar ApplicationInitStatus = /** @class */ (function () {\n function ApplicationInitStatus(appInits) {\n var _this = this;\n this.appInits = appInits;\n this.initialized = false;\n this.done = false;\n this.donePromise = new Promise(function (res, rej) {\n _this.resolve = res;\n _this.reject = rej;\n });\n }\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n ApplicationInitStatus.prototype.runInitializers = /**\n * \\@internal\n * @return {?}\n */\n function () {\n var _this = this;\n if (this.initialized) {\n return;\n }\n var /** @type {?} */ asyncInitPromises = [];\n var /** @type {?} */ complete = function () {\n (/** @type {?} */ (_this)).done = true;\n _this.resolve();\n };\n if (this.appInits) {\n for (var /** @type {?} */ i = 0; i < this.appInits.length; i++) {\n var /** @type {?} */ initResult = this.appInits[i]();\n if (isPromise(initResult)) {\n asyncInitPromises.push(initResult);\n }\n }\n }\n Promise.all(asyncInitPromises).then(function () { complete(); }).catch(function (e) { _this.reject(e); });\n if (asyncInitPromises.length === 0) {\n complete();\n }\n this.initialized = true;\n };\n ApplicationInitStatus.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n ApplicationInitStatus.ctorParameters = function () { return [\n { type: Array, decorators: [{ type: Inject, args: [APP_INITIALIZER,] }, { type: Optional },] },\n ]; };\n return ApplicationInitStatus;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing a unique string id assigned to the application by Angular and used\n * primarily for prefixing application attributes and CSS styles when\n * {\\@link ViewEncapsulation#Emulated ViewEncapsulation.Emulated} is being used.\n *\n * If you need to avoid randomly generated value to be used as an application id, you can provide\n * a custom value via a DI provider configuring the root {\\@link Injector}\n * using this token.\n * \\@experimental\n */\nvar APP_ID = new InjectionToken('AppId');\n/**\n * @return {?}\n */\nfunction _appIdRandomProviderFactory() {\n return \"\" + _randomChar() + _randomChar() + _randomChar();\n}\n/**\n * Providers that will generate a random APP_ID_TOKEN.\n * \\@experimental\n */\nvar APP_ID_RANDOM_PROVIDER = {\n provide: APP_ID,\n useFactory: _appIdRandomProviderFactory,\n deps: /** @type {?} */ ([]),\n};\n/**\n * @return {?}\n */\nfunction _randomChar() {\n return String.fromCharCode(97 + Math.floor(Math.random() * 25));\n}\n/**\n * A function that will be executed when a platform is initialized.\n * \\@experimental\n */\nvar PLATFORM_INITIALIZER = new InjectionToken('Platform Initializer');\n/**\n * A token that indicates an opaque platform id.\n * \\@experimental\n */\nvar PLATFORM_ID = new InjectionToken('Platform ID');\n/**\n * All callbacks provided via this token will be called for every component that is bootstrapped.\n * Signature of the callback:\n *\n * `(componentRef: ComponentRef) => void`.\n *\n * \\@experimental\n */\nvar APP_BOOTSTRAP_LISTENER = new InjectionToken('appBootstrapListener');\n/**\n * A token which indicates the root directory of the application\n * \\@experimental\n */\nvar PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Console = /** @class */ (function () {\n function Console() {\n }\n /**\n * @param {?} message\n * @return {?}\n */\n Console.prototype.log = /**\n * @param {?} message\n * @return {?}\n */\n function (message) {\n // tslint:disable-next-line:no-console\n console.log(message);\n };\n // Note: for reporting errors use `DOM.logError()` as it is platform specific\n /**\n * @param {?} message\n * @return {?}\n */\n Console.prototype.warn = /**\n * @param {?} message\n * @return {?}\n */\n function (message) {\n // tslint:disable-next-line:no-console\n console.warn(message);\n };\n Console.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n Console.ctorParameters = function () { return []; };\n return Console;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Combination of NgModuleFactory and ComponentFactorys.\n *\n * \\@experimental\n */\nvar ModuleWithComponentFactories = /** @class */ (function () {\n function ModuleWithComponentFactories(ngModuleFactory, componentFactories) {\n this.ngModuleFactory = ngModuleFactory;\n this.componentFactories = componentFactories;\n }\n return ModuleWithComponentFactories;\n}());\n/**\n * @return {?}\n */\nfunction _throwError() {\n throw new Error(\"Runtime compiler is not loaded\");\n}\n/**\n * Low-level service for running the angular compiler during runtime\n * to create {\\@link ComponentFactory}s, which\n * can later be used to create and render a Component instance.\n *\n * Each `\\@NgModule` provides an own `Compiler` to its injector,\n * that will use the directives/pipes of the ng module for compilation\n * of components.\n * \\@stable\n */\nvar Compiler = /** @class */ (function () {\n function Compiler() {\n }\n /**\n * Compiles the given NgModule and all of its components. All templates of the components listed\n * in `entryComponents` have to be inlined.\n */\n /**\n * Compiles the given NgModule and all of its components. All templates of the components listed\n * in `entryComponents` have to be inlined.\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n Compiler.prototype.compileModuleSync = /**\n * Compiles the given NgModule and all of its components. All templates of the components listed\n * in `entryComponents` have to be inlined.\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) { throw _throwError(); };\n /**\n * Compiles the given NgModule and all of its components\n */\n /**\n * Compiles the given NgModule and all of its components\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n Compiler.prototype.compileModuleAsync = /**\n * Compiles the given NgModule and all of its components\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) { throw _throwError(); };\n /**\n * Same as {@link #compileModuleSync} but also creates ComponentFactories for all components.\n */\n /**\n * Same as {\\@link #compileModuleSync} but also creates ComponentFactories for all components.\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n Compiler.prototype.compileModuleAndAllComponentsSync = /**\n * Same as {\\@link #compileModuleSync} but also creates ComponentFactories for all components.\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) {\n throw _throwError();\n };\n /**\n * Same as {@link #compileModuleAsync} but also creates ComponentFactories for all components.\n */\n /**\n * Same as {\\@link #compileModuleAsync} but also creates ComponentFactories for all components.\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n Compiler.prototype.compileModuleAndAllComponentsAsync = /**\n * Same as {\\@link #compileModuleAsync} but also creates ComponentFactories for all components.\n * @template T\n * @param {?} moduleType\n * @return {?}\n */\n function (moduleType) {\n throw _throwError();\n };\n /**\n * Clears all caches.\n */\n /**\n * Clears all caches.\n * @return {?}\n */\n Compiler.prototype.clearCache = /**\n * Clears all caches.\n * @return {?}\n */\n function () { };\n /**\n * Clears the cache for the given component/ngModule.\n */\n /**\n * Clears the cache for the given component/ngModule.\n * @param {?} type\n * @return {?}\n */\n Compiler.prototype.clearCacheFor = /**\n * Clears the cache for the given component/ngModule.\n * @param {?} type\n * @return {?}\n */\n function (type) { };\n Compiler.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n Compiler.ctorParameters = function () { return []; };\n return Compiler;\n}());\n/**\n * Token to provide CompilerOptions in the platform injector.\n *\n * \\@experimental\n */\nvar COMPILER_OPTIONS = new InjectionToken('compilerOptions');\n/**\n * A factory for creating a Compiler\n *\n * \\@experimental\n * @abstract\n */\nvar CompilerFactory = /** @class */ (function () {\n function CompilerFactory() {\n }\n return CompilerFactory;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents an instance of a Component created via a {\\@link ComponentFactory}.\n *\n * `ComponentRef` provides access to the Component Instance as well other objects related to this\n * Component Instance and allows you to destroy the Component Instance via the {\\@link #destroy}\n * method.\n * \\@stable\n * @abstract\n */\nvar ComponentRef = /** @class */ (function () {\n function ComponentRef() {\n }\n return ComponentRef;\n}());\n/**\n * \\@stable\n * @abstract\n */\nvar ComponentFactory = /** @class */ (function () {\n function ComponentFactory() {\n }\n return ComponentFactory;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} component\n * @return {?}\n */\nfunction noComponentFactoryError(component) {\n var /** @type {?} */ error = Error(\"No component factory found for \" + stringify(component) + \". Did you add it to @NgModule.entryComponents?\");\n (/** @type {?} */ (error))[ERROR_COMPONENT] = component;\n return error;\n}\nvar ERROR_COMPONENT = 'ngComponent';\n/**\n * @param {?} error\n * @return {?}\n */\n\nvar _NullComponentFactoryResolver = /** @class */ (function () {\n function _NullComponentFactoryResolver() {\n }\n /**\n * @template T\n * @param {?} component\n * @return {?}\n */\n _NullComponentFactoryResolver.prototype.resolveComponentFactory = /**\n * @template T\n * @param {?} component\n * @return {?}\n */\n function (component) {\n throw noComponentFactoryError(component);\n };\n return _NullComponentFactoryResolver;\n}());\n/**\n * \\@stable\n * @abstract\n */\nvar ComponentFactoryResolver = /** @class */ (function () {\n function ComponentFactoryResolver() {\n }\n ComponentFactoryResolver.NULL = new _NullComponentFactoryResolver();\n return ComponentFactoryResolver;\n}());\nvar CodegenComponentFactoryResolver = /** @class */ (function () {\n function CodegenComponentFactoryResolver(factories, _parent, _ngModule) {\n this._parent = _parent;\n this._ngModule = _ngModule;\n this._factories = new Map();\n for (var /** @type {?} */ i = 0; i < factories.length; i++) {\n var /** @type {?} */ factory = factories[i];\n this._factories.set(factory.componentType, factory);\n }\n }\n /**\n * @template T\n * @param {?} component\n * @return {?}\n */\n CodegenComponentFactoryResolver.prototype.resolveComponentFactory = /**\n * @template T\n * @param {?} component\n * @return {?}\n */\n function (component) {\n var /** @type {?} */ factory = this._factories.get(component);\n if (!factory && this._parent) {\n factory = this._parent.resolveComponentFactory(component);\n }\n if (!factory) {\n throw noComponentFactoryError(component);\n }\n return new ComponentFactoryBoundToModule(factory, this._ngModule);\n };\n return CodegenComponentFactoryResolver;\n}());\nvar ComponentFactoryBoundToModule = /** @class */ (function (_super) {\n __extends(ComponentFactoryBoundToModule, _super);\n function ComponentFactoryBoundToModule(factory, ngModule) {\n var _this = _super.call(this) || this;\n _this.factory = factory;\n _this.ngModule = ngModule;\n _this.selector = factory.selector;\n _this.componentType = factory.componentType;\n _this.ngContentSelectors = factory.ngContentSelectors;\n _this.inputs = factory.inputs;\n _this.outputs = factory.outputs;\n return _this;\n }\n /**\n * @param {?} injector\n * @param {?=} projectableNodes\n * @param {?=} rootSelectorOrNode\n * @param {?=} ngModule\n * @return {?}\n */\n ComponentFactoryBoundToModule.prototype.create = /**\n * @param {?} injector\n * @param {?=} projectableNodes\n * @param {?=} rootSelectorOrNode\n * @param {?=} ngModule\n * @return {?}\n */\n function (injector, projectableNodes, rootSelectorOrNode, ngModule) {\n return this.factory.create(injector, projectableNodes, rootSelectorOrNode, ngModule || this.ngModule);\n };\n return ComponentFactoryBoundToModule;\n}(ComponentFactory));\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents an instance of an NgModule created via a {\\@link NgModuleFactory}.\n *\n * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this\n * NgModule Instance.\n *\n * \\@stable\n * @abstract\n */\nvar NgModuleRef = /** @class */ (function () {\n function NgModuleRef() {\n }\n return NgModuleRef;\n}());\n/**\n * @record\n */\n\n/**\n * \\@experimental\n * @abstract\n */\nvar NgModuleFactory = /** @class */ (function () {\n function NgModuleFactory() {\n }\n return NgModuleFactory;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A scope function for the Web Tracing Framework (WTF).\n *\n * \\@experimental\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\nvar trace;\nvar events;\n/**\n * @return {?}\n */\nfunction detectWTF() {\n var /** @type {?} */ wtf = (/** @type {?} */ (_global /** TODO #9100 */) /** TODO #9100 */)['wtf'];\n if (wtf) {\n trace = wtf['trace'];\n if (trace) {\n events = trace['events'];\n return true;\n }\n }\n return false;\n}\n/**\n * @param {?} signature\n * @param {?=} flags\n * @return {?}\n */\nfunction createScope(signature, flags) {\n if (flags === void 0) { flags = null; }\n return events.createScope(signature, flags);\n}\n/**\n * @template T\n * @param {?} scope\n * @param {?=} returnValue\n * @return {?}\n */\nfunction leave(scope, returnValue) {\n trace.leaveScope(scope, returnValue);\n return returnValue;\n}\n/**\n * @param {?} rangeType\n * @param {?} action\n * @return {?}\n */\nfunction startTimeRange(rangeType, action) {\n return trace.beginTimeRange(rangeType, action);\n}\n/**\n * @param {?} range\n * @return {?}\n */\nfunction endTimeRange(range) {\n trace.endTimeRange(range);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * True if WTF is enabled.\n */\nvar wtfEnabled = detectWTF();\n/**\n * @param {?=} arg0\n * @param {?=} arg1\n * @return {?}\n */\nfunction noopScope(arg0, arg1) {\n return null;\n}\n/**\n * Create trace scope.\n *\n * Scopes must be strictly nested and are analogous to stack frames, but\n * do not have to follow the stack frames. Instead it is recommended that they follow logical\n * nesting. You may want to use\n * [Event\n * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events)\n * as they are defined in WTF.\n *\n * Used to mark scope entry. The return value is used to leave the scope.\n *\n * var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)');\n *\n * someMethod() {\n * var s = myScope('Foo'); // 'Foo' gets stored in tracing UI\n * // DO SOME WORK HERE\n * return wtfLeave(s, 123); // Return value 123\n * }\n *\n * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can\n * negatively impact the performance of your application. For this reason we recommend that\n * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and\n * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to\n * exception, will produce incorrect trace, but presence of exception signifies logic error which\n * needs to be fixed before the app should be profiled. Add try-finally only when you expect that\n * an exception is expected during normal execution while profiling.\n *\n * \\@experimental\n */\nvar wtfCreateScope = wtfEnabled ? createScope : function (signature, flags) { return noopScope; };\n/**\n * Used to mark end of Scope.\n *\n * - `scope` to end.\n * - `returnValue` (optional) to be passed to the WTF.\n *\n * Returns the `returnValue for easy chaining.\n * \\@experimental\n */\nvar wtfLeave = wtfEnabled ? leave : function (s, r) { return r; };\n/**\n * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested.\n * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been\n * enabled.\n *\n * someMethod() {\n * var s = wtfStartTimeRange('HTTP:GET', 'some.url');\n * var future = new Future.delay(5).then((_) {\n * wtfEndTimeRange(s);\n * });\n * }\n * \\@experimental\n */\nvar wtfStartTimeRange = wtfEnabled ? startTimeRange : function (rangeType, action) { return null; };\n/**\n * Ends a async time range operation.\n * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been\n * enabled.\n * \\@experimental\n */\nvar wtfEndTimeRange = wtfEnabled ? endTimeRange : function (r) { return null; };\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Use by directives and components to emit custom Events.\n *\n * ### Examples\n *\n * In the following example, `Zippy` alternatively emits `open` and `close` events when its\n * title gets clicked:\n *\n * ```\n * \\@Component({\n * selector: 'zippy',\n * template: `\n *
\n *
Toggle
\n *
\n * \n *
\n *
`})\n * export class Zippy {\n * visible: boolean = true;\n * \\@Output() open: EventEmitter = new EventEmitter();\n * \\@Output() close: EventEmitter = new EventEmitter();\n *\n * toggle() {\n * this.visible = !this.visible;\n * if (this.visible) {\n * this.open.emit(null);\n * } else {\n * this.close.emit(null);\n * }\n * }\n * }\n * ```\n *\n * The events payload can be accessed by the parameter `$event` on the components output event\n * handler:\n *\n * ```\n * \n * ```\n *\n * Uses Rx.Observable but provides an adapter to make it work as specified here:\n * https://github.com/jhusain/observable-spec\n *\n * Once a reference implementation of the spec is available, switch to it.\n * \\@stable\n */\nvar EventEmitter = /** @class */ (function (_super) {\n __extends(EventEmitter, _super);\n /**\n * Creates an instance of {@link EventEmitter}, which depending on `isAsync`,\n * delivers events synchronously or asynchronously.\n *\n * @param isAsync By default, events are delivered synchronously (default value: `false`).\n * Set to `true` for asynchronous event delivery.\n */\n function EventEmitter(isAsync) {\n if (isAsync === void 0) { isAsync = false; }\n var _this = _super.call(this) || this;\n _this.__isAsync = isAsync;\n return _this;\n }\n /**\n * @param {?=} value\n * @return {?}\n */\n EventEmitter.prototype.emit = /**\n * @param {?=} value\n * @return {?}\n */\n function (value) { _super.prototype.next.call(this, value); };\n /**\n * @param {?=} generatorOrNext\n * @param {?=} error\n * @param {?=} complete\n * @return {?}\n */\n EventEmitter.prototype.subscribe = /**\n * @param {?=} generatorOrNext\n * @param {?=} error\n * @param {?=} complete\n * @return {?}\n */\n function (generatorOrNext, error, complete) {\n var /** @type {?} */ schedulerFn;\n var /** @type {?} */ errorFn = function (err) { return null; };\n var /** @type {?} */ completeFn = function () { return null; };\n if (generatorOrNext && typeof generatorOrNext === 'object') {\n schedulerFn = this.__isAsync ? function (value) {\n setTimeout(function () { return generatorOrNext.next(value); });\n } : function (value) { generatorOrNext.next(value); };\n if (generatorOrNext.error) {\n errorFn = this.__isAsync ? function (err) { setTimeout(function () { return generatorOrNext.error(err); }); } :\n function (err) { generatorOrNext.error(err); };\n }\n if (generatorOrNext.complete) {\n completeFn = this.__isAsync ? function () { setTimeout(function () { return generatorOrNext.complete(); }); } :\n function () { generatorOrNext.complete(); };\n }\n }\n else {\n schedulerFn = this.__isAsync ? function (value) { setTimeout(function () { return generatorOrNext(value); }); } :\n function (value) { generatorOrNext(value); };\n if (error) {\n errorFn =\n this.__isAsync ? function (err) { setTimeout(function () { return error(err); }); } : function (err) { error(err); };\n }\n if (complete) {\n completeFn =\n this.__isAsync ? function () { setTimeout(function () { return complete(); }); } : function () { complete(); };\n }\n }\n return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn);\n };\n return EventEmitter;\n}(Subject));\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An injectable service for executing work inside or outside of the Angular zone.\n *\n * The most common use of this service is to optimize performance when starting a work consisting of\n * one or more asynchronous tasks that don't require UI updates or error handling to be handled by\n * Angular. Such tasks can be kicked off via {\\@link #runOutsideAngular} and if needed, these tasks\n * can reenter the Angular zone via {\\@link #run}.\n *\n * \n *\n * ### Example\n *\n * ```\n * import {Component, NgZone} from '\\@angular/core';\n * import {NgIf} from '\\@angular/common';\n *\n * \\@Component({\n * selector: 'ng-zone-demo',\n * template: `\n *

Demo: NgZone

\n *\n *

Progress: {{progress}}%

\n *

= 100\">Done processing {{label}} of Angular zone!

\n *\n * \n * \n * `,\n * })\n * export class NgZoneDemo {\n * progress: number = 0;\n * label: string;\n *\n * constructor(private _ngZone: NgZone) {}\n *\n * // Loop inside the Angular zone\n * // so the UI DOES refresh after each setTimeout cycle\n * processWithinAngularZone() {\n * this.label = 'inside';\n * this.progress = 0;\n * this._increaseProgress(() => console.log('Inside Done!'));\n * }\n *\n * // Loop outside of the Angular zone\n * // so the UI DOES NOT refresh after each setTimeout cycle\n * processOutsideOfAngularZone() {\n * this.label = 'outside';\n * this.progress = 0;\n * this._ngZone.runOutsideAngular(() => {\n * this._increaseProgress(() => {\n * // reenter the Angular zone and display done\n * this._ngZone.run(() => { console.log('Outside Done!'); });\n * });\n * });\n * }\n *\n * _increaseProgress(doneCallback: () => void) {\n * this.progress += 1;\n * console.log(`Current progress: ${this.progress}%`);\n *\n * if (this.progress < 100) {\n * window.setTimeout(() => this._increaseProgress(doneCallback), 10);\n * } else {\n * doneCallback();\n * }\n * }\n * }\n * ```\n *\n * \\@experimental\n */\nvar NgZone = /** @class */ (function () {\n function NgZone(_a) {\n var _b = _a.enableLongStackTrace, enableLongStackTrace = _b === void 0 ? false : _b;\n this.hasPendingMicrotasks = false;\n this.hasPendingMacrotasks = false;\n /**\n * Whether there are no outstanding microtasks or macrotasks.\n */\n this.isStable = true;\n /**\n * Notifies when code enters Angular Zone. This gets fired first on VM Turn.\n */\n this.onUnstable = new EventEmitter(false);\n /**\n * Notifies when there is no more microtasks enqueued in the current VM Turn.\n * This is a hint for Angular to do change detection, which may enqueue more microtasks.\n * For this reason this event can fire multiple times per VM Turn.\n */\n this.onMicrotaskEmpty = new EventEmitter(false);\n /**\n * Notifies when the last `onMicrotaskEmpty` has run and there are no more microtasks, which\n * implies we are about to relinquish VM turn.\n * This event gets called just once.\n */\n this.onStable = new EventEmitter(false);\n /**\n * Notifies that an error has been delivered.\n */\n this.onError = new EventEmitter(false);\n if (typeof Zone == 'undefined') {\n throw new Error(\"In this configuration Angular requires Zone.js\");\n }\n Zone.assertZonePatched();\n var /** @type {?} */ self = /** @type {?} */ ((this));\n self._nesting = 0;\n self._outer = self._inner = Zone.current;\n if ((/** @type {?} */ (Zone))['wtfZoneSpec']) {\n self._inner = self._inner.fork((/** @type {?} */ (Zone))['wtfZoneSpec']);\n }\n if (enableLongStackTrace && (/** @type {?} */ (Zone))['longStackTraceZoneSpec']) {\n self._inner = self._inner.fork((/** @type {?} */ (Zone))['longStackTraceZoneSpec']);\n }\n forkInnerZoneWithAngularBehavior(self);\n }\n /**\n * @return {?}\n */\n NgZone.isInAngularZone = /**\n * @return {?}\n */\n function () { return Zone.current.get('isAngularZone') === true; };\n /**\n * @return {?}\n */\n NgZone.assertInAngularZone = /**\n * @return {?}\n */\n function () {\n if (!NgZone.isInAngularZone()) {\n throw new Error('Expected to be in Angular Zone, but it is not!');\n }\n };\n /**\n * @return {?}\n */\n NgZone.assertNotInAngularZone = /**\n * @return {?}\n */\n function () {\n if (NgZone.isInAngularZone()) {\n throw new Error('Expected to not be in Angular Zone, but it is!');\n }\n };\n /**\n * Executes the `fn` function synchronously within the Angular zone and returns value returned by\n * the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n */\n /**\n * Executes the `fn` function synchronously within the Angular zone and returns value returned by\n * the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {\\@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n * @template T\n * @param {?} fn\n * @param {?=} applyThis\n * @param {?=} applyArgs\n * @return {?}\n */\n NgZone.prototype.run = /**\n * Executes the `fn` function synchronously within the Angular zone and returns value returned by\n * the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {\\@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n * @template T\n * @param {?} fn\n * @param {?=} applyThis\n * @param {?=} applyArgs\n * @return {?}\n */\n function (fn, applyThis, applyArgs) {\n return /** @type {?} */ ((/** @type {?} */ ((this)))._inner.run(fn, applyThis, applyArgs));\n };\n /**\n * Executes the `fn` function synchronously within the Angular zone as a task and returns value\n * returned by the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n */\n /**\n * Executes the `fn` function synchronously within the Angular zone as a task and returns value\n * returned by the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {\\@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n * @template T\n * @param {?} fn\n * @param {?=} applyThis\n * @param {?=} applyArgs\n * @param {?=} name\n * @return {?}\n */\n NgZone.prototype.runTask = /**\n * Executes the `fn` function synchronously within the Angular zone as a task and returns value\n * returned by the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {\\@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n * @template T\n * @param {?} fn\n * @param {?=} applyThis\n * @param {?=} applyArgs\n * @param {?=} name\n * @return {?}\n */\n function (fn, applyThis, applyArgs, name) {\n var /** @type {?} */ zone = (/** @type {?} */ ((this)))._inner;\n var /** @type {?} */ task = zone.scheduleEventTask('NgZoneEvent: ' + name, fn, EMPTY_PAYLOAD, noop, noop);\n try {\n return /** @type {?} */ (zone.runTask(task, applyThis, applyArgs));\n }\n finally {\n zone.cancelTask(task);\n }\n };\n /**\n * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not\n * rethrown.\n */\n /**\n * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not\n * rethrown.\n * @template T\n * @param {?} fn\n * @param {?=} applyThis\n * @param {?=} applyArgs\n * @return {?}\n */\n NgZone.prototype.runGuarded = /**\n * Same as `run`, except that synchronous errors are caught and forwarded via `onError` and not\n * rethrown.\n * @template T\n * @param {?} fn\n * @param {?=} applyThis\n * @param {?=} applyArgs\n * @return {?}\n */\n function (fn, applyThis, applyArgs) {\n return /** @type {?} */ ((/** @type {?} */ ((this)))._inner.runGuarded(fn, applyThis, applyArgs));\n };\n /**\n * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by\n * the function.\n *\n * Running functions via {@link #runOutsideAngular} allows you to escape Angular's zone and do\n * work that\n * doesn't trigger Angular change-detection or is subject to Angular's error handling.\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * outside of the Angular zone.\n *\n * Use {@link #run} to reenter the Angular zone and do work that updates the application model.\n */\n /**\n * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by\n * the function.\n *\n * Running functions via {\\@link #runOutsideAngular} allows you to escape Angular's zone and do\n * work that\n * doesn't trigger Angular change-detection or is subject to Angular's error handling.\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * outside of the Angular zone.\n *\n * Use {\\@link #run} to reenter the Angular zone and do work that updates the application model.\n * @template T\n * @param {?} fn\n * @return {?}\n */\n NgZone.prototype.runOutsideAngular = /**\n * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by\n * the function.\n *\n * Running functions via {\\@link #runOutsideAngular} allows you to escape Angular's zone and do\n * work that\n * doesn't trigger Angular change-detection or is subject to Angular's error handling.\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * outside of the Angular zone.\n *\n * Use {\\@link #run} to reenter the Angular zone and do work that updates the application model.\n * @template T\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n return /** @type {?} */ ((/** @type {?} */ ((this)))._outer.run(fn));\n };\n return NgZone;\n}());\n/**\n * @return {?}\n */\nfunction noop() { }\nvar EMPTY_PAYLOAD = {};\n/**\n * @param {?} zone\n * @return {?}\n */\nfunction checkStable(zone) {\n if (zone._nesting == 0 && !zone.hasPendingMicrotasks && !zone.isStable) {\n try {\n zone._nesting++;\n zone.onMicrotaskEmpty.emit(null);\n }\n finally {\n zone._nesting--;\n if (!zone.hasPendingMicrotasks) {\n try {\n zone.runOutsideAngular(function () { return zone.onStable.emit(null); });\n }\n finally {\n zone.isStable = true;\n }\n }\n }\n }\n}\n/**\n * @param {?} zone\n * @return {?}\n */\nfunction forkInnerZoneWithAngularBehavior(zone) {\n zone._inner = zone._inner.fork({\n name: 'angular',\n properties: /** @type {?} */ ({ 'isAngularZone': true }),\n onInvokeTask: function (delegate, current, target, task, applyThis, applyArgs) {\n try {\n onEnter(zone);\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n }\n finally {\n onLeave(zone);\n }\n },\n onInvoke: function (delegate, current, target, callback, applyThis, applyArgs, source) {\n try {\n onEnter(zone);\n return delegate.invoke(target, callback, applyThis, applyArgs, source);\n }\n finally {\n onLeave(zone);\n }\n },\n onHasTask: function (delegate, current, target, hasTaskState) {\n delegate.hasTask(target, hasTaskState);\n if (current === target) {\n // We are only interested in hasTask events which originate from our zone\n // (A child hasTask event is not interesting to us)\n if (hasTaskState.change == 'microTask') {\n zone.hasPendingMicrotasks = hasTaskState.microTask;\n checkStable(zone);\n }\n else if (hasTaskState.change == 'macroTask') {\n zone.hasPendingMacrotasks = hasTaskState.macroTask;\n }\n }\n },\n onHandleError: function (delegate, current, target, error) {\n delegate.handleError(target, error);\n zone.runOutsideAngular(function () { return zone.onError.emit(error); });\n return false;\n }\n });\n}\n/**\n * @param {?} zone\n * @return {?}\n */\nfunction onEnter(zone) {\n zone._nesting++;\n if (zone.isStable) {\n zone.isStable = false;\n zone.onUnstable.emit(null);\n }\n}\n/**\n * @param {?} zone\n * @return {?}\n */\nfunction onLeave(zone) {\n zone._nesting--;\n checkStable(zone);\n}\n/**\n * Provides a noop implementation of `NgZone` which does nothing. This zone requires explicit calls\n * to framework to perform rendering.\n */\nvar NoopNgZone = /** @class */ (function () {\n function NoopNgZone() {\n this.hasPendingMicrotasks = false;\n this.hasPendingMacrotasks = false;\n this.isStable = true;\n this.onUnstable = new EventEmitter();\n this.onMicrotaskEmpty = new EventEmitter();\n this.onStable = new EventEmitter();\n this.onError = new EventEmitter();\n }\n /**\n * @param {?} fn\n * @return {?}\n */\n NoopNgZone.prototype.run = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { return fn(); };\n /**\n * @param {?} fn\n * @return {?}\n */\n NoopNgZone.prototype.runGuarded = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { return fn(); };\n /**\n * @param {?} fn\n * @return {?}\n */\n NoopNgZone.prototype.runOutsideAngular = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { return fn(); };\n /**\n * @template T\n * @param {?} fn\n * @return {?}\n */\n NoopNgZone.prototype.runTask = /**\n * @template T\n * @param {?} fn\n * @return {?}\n */\n function (fn) { return fn(); };\n return NoopNgZone;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The Testability service provides testing hooks that can be accessed from\n * the browser and by services such as Protractor. Each bootstrapped Angular\n * application on the page will have an instance of Testability.\n * \\@experimental\n */\nvar Testability = /** @class */ (function () {\n function Testability(_ngZone) {\n this._ngZone = _ngZone;\n /**\n * \\@internal\n */\n this._pendingCount = 0;\n /**\n * \\@internal\n */\n this._isZoneStable = true;\n /**\n * Whether any work was done since the last 'whenStable' callback. This is\n * useful to detect if this could have potentially destabilized another\n * component while it is stabilizing.\n * \\@internal\n */\n this._didWork = false;\n /**\n * \\@internal\n */\n this._callbacks = [];\n this._watchAngularEvents();\n }\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n Testability.prototype._watchAngularEvents = /**\n * \\@internal\n * @return {?}\n */\n function () {\n var _this = this;\n this._ngZone.onUnstable.subscribe({\n next: function () {\n _this._didWork = true;\n _this._isZoneStable = false;\n }\n });\n this._ngZone.runOutsideAngular(function () {\n _this._ngZone.onStable.subscribe({\n next: function () {\n NgZone.assertNotInAngularZone();\n scheduleMicroTask(function () {\n _this._isZoneStable = true;\n _this._runCallbacksIfReady();\n });\n }\n });\n });\n };\n /**\n * Increases the number of pending request\n */\n /**\n * Increases the number of pending request\n * @return {?}\n */\n Testability.prototype.increasePendingRequestCount = /**\n * Increases the number of pending request\n * @return {?}\n */\n function () {\n this._pendingCount += 1;\n this._didWork = true;\n return this._pendingCount;\n };\n /**\n * Decreases the number of pending request\n */\n /**\n * Decreases the number of pending request\n * @return {?}\n */\n Testability.prototype.decreasePendingRequestCount = /**\n * Decreases the number of pending request\n * @return {?}\n */\n function () {\n this._pendingCount -= 1;\n if (this._pendingCount < 0) {\n throw new Error('pending async requests below zero');\n }\n this._runCallbacksIfReady();\n return this._pendingCount;\n };\n /**\n * Whether an associated application is stable\n */\n /**\n * Whether an associated application is stable\n * @return {?}\n */\n Testability.prototype.isStable = /**\n * Whether an associated application is stable\n * @return {?}\n */\n function () {\n return this._isZoneStable && this._pendingCount == 0 && !this._ngZone.hasPendingMacrotasks;\n };\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n Testability.prototype._runCallbacksIfReady = /**\n * \\@internal\n * @return {?}\n */\n function () {\n var _this = this;\n if (this.isStable()) {\n // Schedules the call backs in a new frame so that it is always async.\n scheduleMicroTask(function () {\n while (_this._callbacks.length !== 0) {\n (/** @type {?} */ ((_this._callbacks.pop())))(_this._didWork);\n }\n _this._didWork = false;\n });\n }\n else {\n // Not Ready\n this._didWork = true;\n }\n };\n /**\n * Run callback when the application is stable\n * @param callback function to be called after the application is stable\n */\n /**\n * Run callback when the application is stable\n * @param {?} callback function to be called after the application is stable\n * @return {?}\n */\n Testability.prototype.whenStable = /**\n * Run callback when the application is stable\n * @param {?} callback function to be called after the application is stable\n * @return {?}\n */\n function (callback) {\n this._callbacks.push(callback);\n this._runCallbacksIfReady();\n };\n /**\n * Get the number of pending requests\n */\n /**\n * Get the number of pending requests\n * @return {?}\n */\n Testability.prototype.getPendingRequestCount = /**\n * Get the number of pending requests\n * @return {?}\n */\n function () { return this._pendingCount; };\n /**\n * Find providers by name\n * @param using The root element to search from\n * @param provider The name of binding variable\n * @param exactMatch Whether using exactMatch\n */\n /**\n * Find providers by name\n * @param {?} using The root element to search from\n * @param {?} provider The name of binding variable\n * @param {?} exactMatch Whether using exactMatch\n * @return {?}\n */\n Testability.prototype.findProviders = /**\n * Find providers by name\n * @param {?} using The root element to search from\n * @param {?} provider The name of binding variable\n * @param {?} exactMatch Whether using exactMatch\n * @return {?}\n */\n function (using, provider, exactMatch) {\n // TODO(juliemr): implement.\n return [];\n };\n Testability.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n Testability.ctorParameters = function () { return [\n { type: NgZone, },\n ]; };\n return Testability;\n}());\n/**\n * A global registry of {\\@link Testability} instances for specific elements.\n * \\@experimental\n */\nvar TestabilityRegistry = /** @class */ (function () {\n function TestabilityRegistry() {\n /**\n * \\@internal\n */\n this._applications = new Map();\n _testabilityGetter.addToWindow(this);\n }\n /**\n * Registers an application with a testability hook so that it can be tracked\n * @param token token of application, root element\n * @param testability Testability hook\n */\n /**\n * Registers an application with a testability hook so that it can be tracked\n * @param {?} token token of application, root element\n * @param {?} testability Testability hook\n * @return {?}\n */\n TestabilityRegistry.prototype.registerApplication = /**\n * Registers an application with a testability hook so that it can be tracked\n * @param {?} token token of application, root element\n * @param {?} testability Testability hook\n * @return {?}\n */\n function (token, testability) {\n this._applications.set(token, testability);\n };\n /**\n * Unregisters an application.\n * @param token token of application, root element\n */\n /**\n * Unregisters an application.\n * @param {?} token token of application, root element\n * @return {?}\n */\n TestabilityRegistry.prototype.unregisterApplication = /**\n * Unregisters an application.\n * @param {?} token token of application, root element\n * @return {?}\n */\n function (token) { this._applications.delete(token); };\n /**\n * Unregisters all applications\n */\n /**\n * Unregisters all applications\n * @return {?}\n */\n TestabilityRegistry.prototype.unregisterAllApplications = /**\n * Unregisters all applications\n * @return {?}\n */\n function () { this._applications.clear(); };\n /**\n * Get a testability hook associated with the application\n * @param elem root element\n */\n /**\n * Get a testability hook associated with the application\n * @param {?} elem root element\n * @return {?}\n */\n TestabilityRegistry.prototype.getTestability = /**\n * Get a testability hook associated with the application\n * @param {?} elem root element\n * @return {?}\n */\n function (elem) { return this._applications.get(elem) || null; };\n /**\n * Get all registered testabilities\n */\n /**\n * Get all registered testabilities\n * @return {?}\n */\n TestabilityRegistry.prototype.getAllTestabilities = /**\n * Get all registered testabilities\n * @return {?}\n */\n function () { return Array.from(this._applications.values()); };\n /**\n * Get all registered applications(root elements)\n */\n /**\n * Get all registered applications(root elements)\n * @return {?}\n */\n TestabilityRegistry.prototype.getAllRootElements = /**\n * Get all registered applications(root elements)\n * @return {?}\n */\n function () { return Array.from(this._applications.keys()); };\n /**\n * Find testability of a node in the Tree\n * @param elem node\n * @param findInAncestors whether finding testability in ancestors if testability was not found in\n * current node\n */\n /**\n * Find testability of a node in the Tree\n * @param {?} elem node\n * @param {?=} findInAncestors whether finding testability in ancestors if testability was not found in\n * current node\n * @return {?}\n */\n TestabilityRegistry.prototype.findTestabilityInTree = /**\n * Find testability of a node in the Tree\n * @param {?} elem node\n * @param {?=} findInAncestors whether finding testability in ancestors if testability was not found in\n * current node\n * @return {?}\n */\n function (elem, findInAncestors) {\n if (findInAncestors === void 0) { findInAncestors = true; }\n return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);\n };\n TestabilityRegistry.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n TestabilityRegistry.ctorParameters = function () { return []; };\n return TestabilityRegistry;\n}());\n/**\n * Adapter interface for retrieving the `Testability` service associated for a\n * particular context.\n *\n * \\@experimental Testability apis are primarily intended to be used by e2e test tool vendors like\n * the Protractor team.\n * @record\n */\n\nvar _NoopGetTestability = /** @class */ (function () {\n function _NoopGetTestability() {\n }\n /**\n * @param {?} registry\n * @return {?}\n */\n _NoopGetTestability.prototype.addToWindow = /**\n * @param {?} registry\n * @return {?}\n */\n function (registry) { };\n /**\n * @param {?} registry\n * @param {?} elem\n * @param {?} findInAncestors\n * @return {?}\n */\n _NoopGetTestability.prototype.findTestabilityInTree = /**\n * @param {?} registry\n * @param {?} elem\n * @param {?} findInAncestors\n * @return {?}\n */\n function (registry, elem, findInAncestors) {\n return null;\n };\n return _NoopGetTestability;\n}());\n/**\n * Set the {\\@link GetTestability} implementation used by the Angular testing framework.\n * \\@experimental\n * @param {?} getter\n * @return {?}\n */\nfunction setTestabilityGetter(getter) {\n _testabilityGetter = getter;\n}\nvar _testabilityGetter = new _NoopGetTestability();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar _devMode = true;\nvar _runModeLocked = false;\nvar _platform;\nvar ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultipleToken');\n/**\n * Disable Angular's development mode, which turns off assertions and other\n * checks within the framework.\n *\n * One important assertion this disables verifies that a change detection pass\n * does not result in additional changes to any bindings (also known as\n * unidirectional data flow).\n *\n * \\@stable\n * @return {?}\n */\nfunction enableProdMode() {\n if (_runModeLocked) {\n throw new Error('Cannot enable prod mode after platform setup.');\n }\n _devMode = false;\n}\n/**\n * Returns whether Angular is in development mode. After called once,\n * the value is locked and won't change any more.\n *\n * By default, this is true, unless a user calls `enableProdMode` before calling this.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @return {?}\n */\nfunction isDevMode() {\n _runModeLocked = true;\n return _devMode;\n}\n/**\n * A token for third-party components that can register themselves with NgProbe.\n *\n * \\@experimental\n */\nvar NgProbeToken = /** @class */ (function () {\n function NgProbeToken(name, token) {\n this.name = name;\n this.token = token;\n }\n return NgProbeToken;\n}());\n/**\n * Creates a platform.\n * Platforms have to be eagerly created via this function.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @param {?} injector\n * @return {?}\n */\nfunction createPlatform(injector) {\n if (_platform && !_platform.destroyed &&\n !_platform.injector.get(ALLOW_MULTIPLE_PLATFORMS, false)) {\n throw new Error('There can be only one platform. Destroy the previous one to create a new one.');\n }\n _platform = injector.get(PlatformRef);\n var /** @type {?} */ inits = injector.get(PLATFORM_INITIALIZER, null);\n if (inits)\n inits.forEach(function (init) { return init(); });\n return _platform;\n}\n/**\n * Creates a factory for a platform\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @param {?} parentPlatformFactory\n * @param {?} name\n * @param {?=} providers\n * @return {?}\n */\nfunction createPlatformFactory(parentPlatformFactory, name, providers) {\n if (providers === void 0) { providers = []; }\n var /** @type {?} */ desc = \"Platform: \" + name;\n var /** @type {?} */ marker = new InjectionToken(desc);\n return function (extraProviders) {\n if (extraProviders === void 0) { extraProviders = []; }\n var /** @type {?} */ platform = getPlatform();\n if (!platform || platform.injector.get(ALLOW_MULTIPLE_PLATFORMS, false)) {\n if (parentPlatformFactory) {\n parentPlatformFactory(providers.concat(extraProviders).concat({ provide: marker, useValue: true }));\n }\n else {\n var /** @type {?} */ injectedProviders = providers.concat(extraProviders).concat({ provide: marker, useValue: true });\n createPlatform(Injector.create({ providers: injectedProviders, name: desc }));\n }\n }\n return assertPlatform(marker);\n };\n}\n/**\n * Checks that there currently is a platform which contains the given token as a provider.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @param {?} requiredToken\n * @return {?}\n */\nfunction assertPlatform(requiredToken) {\n var /** @type {?} */ platform = getPlatform();\n if (!platform) {\n throw new Error('No platform exists!');\n }\n if (!platform.injector.get(requiredToken, null)) {\n throw new Error('A platform with a different configuration has been created. Please destroy it first.');\n }\n return platform;\n}\n/**\n * Destroy the existing platform.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @return {?}\n */\nfunction destroyPlatform() {\n if (_platform && !_platform.destroyed) {\n _platform.destroy();\n }\n}\n/**\n * Returns the current platform.\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @return {?}\n */\nfunction getPlatform() {\n return _platform && !_platform.destroyed ? _platform : null;\n}\n/**\n * Provides additional options to the bootstraping process.\n *\n * \\@stable\n * @record\n */\n\n/**\n * The Angular platform is the entry point for Angular on a web page. Each page\n * has exactly one platform, and services (such as reflection) which are common\n * to every Angular application running on the page are bound in its scope.\n *\n * A page's platform is initialized implicitly when a platform is created via a platform factory\n * (e.g. {\\@link platformBrowser}), or explicitly by calling the {\\@link createPlatform} function.\n *\n * \\@stable\n */\nvar PlatformRef = /** @class */ (function () {\n /** @internal */\n function PlatformRef(_injector) {\n this._injector = _injector;\n this._modules = [];\n this._destroyListeners = [];\n this._destroyed = false;\n }\n /**\n * Creates an instance of an `@NgModule` for the given platform\n * for offline compilation.\n *\n * ## Simple Example\n *\n * ```typescript\n * my_module.ts:\n *\n * @NgModule({\n * imports: [BrowserModule]\n * })\n * class MyModule {}\n *\n * main.ts:\n * import {MyModuleNgFactory} from './my_module.ngfactory';\n * import {platformBrowser} from '@angular/platform-browser';\n *\n * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);\n * ```\n *\n * @experimental APIs related to application bootstrap are currently under review.\n */\n /**\n * Creates an instance of an `\\@NgModule` for the given platform\n * for offline compilation.\n *\n * ## Simple Example\n *\n * ```typescript\n * my_module.ts:\n *\n * \\@NgModule({\n * imports: [BrowserModule]\n * })\n * class MyModule {}\n *\n * main.ts:\n * import {MyModuleNgFactory} from './my_module.ngfactory';\n * import {platformBrowser} from '\\@angular/platform-browser';\n *\n * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);\n * ```\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @template M\n * @param {?} moduleFactory\n * @param {?=} options\n * @return {?}\n */\n PlatformRef.prototype.bootstrapModuleFactory = /**\n * Creates an instance of an `\\@NgModule` for the given platform\n * for offline compilation.\n *\n * ## Simple Example\n *\n * ```typescript\n * my_module.ts:\n *\n * \\@NgModule({\n * imports: [BrowserModule]\n * })\n * class MyModule {}\n *\n * main.ts:\n * import {MyModuleNgFactory} from './my_module.ngfactory';\n * import {platformBrowser} from '\\@angular/platform-browser';\n *\n * let moduleRef = platformBrowser().bootstrapModuleFactory(MyModuleNgFactory);\n * ```\n *\n * \\@experimental APIs related to application bootstrap are currently under review.\n * @template M\n * @param {?} moduleFactory\n * @param {?=} options\n * @return {?}\n */\n function (moduleFactory, options) {\n var _this = this;\n // Note: We need to create the NgZone _before_ we instantiate the module,\n // as instantiating the module creates some providers eagerly.\n // So we create a mini parent injector that just contains the new NgZone and\n // pass that as parent to the NgModuleFactory.\n var /** @type {?} */ ngZoneOption = options ? options.ngZone : undefined;\n var /** @type {?} */ ngZone = getNgZone(ngZoneOption);\n var /** @type {?} */ providers = [{ provide: NgZone, useValue: ngZone }];\n // Attention: Don't use ApplicationRef.run here,\n // as we want to be sure that all possible constructor calls are inside `ngZone.run`!\n return ngZone.run(function () {\n var /** @type {?} */ ngZoneInjector = Injector.create({ providers: providers, parent: _this.injector, name: moduleFactory.moduleType.name });\n var /** @type {?} */ moduleRef = /** @type {?} */ (moduleFactory.create(ngZoneInjector));\n var /** @type {?} */ exceptionHandler = moduleRef.injector.get(ErrorHandler, null);\n if (!exceptionHandler) {\n throw new Error('No ErrorHandler. Is platform module (BrowserModule) included?');\n }\n moduleRef.onDestroy(function () { return remove(_this._modules, moduleRef); }); /** @type {?} */\n ((ngZone)).runOutsideAngular(function () { return ((ngZone)).onError.subscribe({ next: function (error) { exceptionHandler.handleError(error); } }); });\n return _callAndReportToErrorHandler(exceptionHandler, /** @type {?} */ ((ngZone)), function () {\n var /** @type {?} */ initStatus = moduleRef.injector.get(ApplicationInitStatus);\n initStatus.runInitializers();\n return initStatus.donePromise.then(function () {\n _this._moduleDoBootstrap(moduleRef);\n return moduleRef;\n });\n });\n });\n };\n /**\n * Creates an instance of an `@NgModule` for a given platform using the given runtime compiler.\n *\n * ## Simple Example\n *\n * ```typescript\n * @NgModule({\n * imports: [BrowserModule]\n * })\n * class MyModule {}\n *\n * let moduleRef = platformBrowser().bootstrapModule(MyModule);\n * ```\n * @stable\n */\n /**\n * Creates an instance of an `\\@NgModule` for a given platform using the given runtime compiler.\n *\n * ## Simple Example\n *\n * ```typescript\n * \\@NgModule({\n * imports: [BrowserModule]\n * })\n * class MyModule {}\n *\n * let moduleRef = platformBrowser().bootstrapModule(MyModule);\n * ```\n * \\@stable\n * @template M\n * @param {?} moduleType\n * @param {?=} compilerOptions\n * @return {?}\n */\n PlatformRef.prototype.bootstrapModule = /**\n * Creates an instance of an `\\@NgModule` for a given platform using the given runtime compiler.\n *\n * ## Simple Example\n *\n * ```typescript\n * \\@NgModule({\n * imports: [BrowserModule]\n * })\n * class MyModule {}\n *\n * let moduleRef = platformBrowser().bootstrapModule(MyModule);\n * ```\n * \\@stable\n * @template M\n * @param {?} moduleType\n * @param {?=} compilerOptions\n * @return {?}\n */\n function (moduleType, compilerOptions) {\n var _this = this;\n if (compilerOptions === void 0) { compilerOptions = []; }\n var /** @type {?} */ compilerFactory = this.injector.get(CompilerFactory);\n var /** @type {?} */ options = optionsReducer({}, compilerOptions);\n var /** @type {?} */ compiler = compilerFactory.createCompiler([options]);\n return compiler.compileModuleAsync(moduleType)\n .then(function (moduleFactory) { return _this.bootstrapModuleFactory(moduleFactory, options); });\n };\n /**\n * @param {?} moduleRef\n * @return {?}\n */\n PlatformRef.prototype._moduleDoBootstrap = /**\n * @param {?} moduleRef\n * @return {?}\n */\n function (moduleRef) {\n var /** @type {?} */ appRef = /** @type {?} */ (moduleRef.injector.get(ApplicationRef));\n if (moduleRef._bootstrapComponents.length > 0) {\n moduleRef._bootstrapComponents.forEach(function (f) { return appRef.bootstrap(f); });\n }\n else if (moduleRef.instance.ngDoBootstrap) {\n moduleRef.instance.ngDoBootstrap(appRef);\n }\n else {\n throw new Error(\"The module \" + stringify(moduleRef.instance.constructor) + \" was bootstrapped, but it does not declare \\\"@NgModule.bootstrap\\\" components nor a \\\"ngDoBootstrap\\\" method. \" +\n \"Please define one of these.\");\n }\n this._modules.push(moduleRef);\n };\n /**\n * Register a listener to be called when the platform is disposed.\n */\n /**\n * Register a listener to be called when the platform is disposed.\n * @param {?} callback\n * @return {?}\n */\n PlatformRef.prototype.onDestroy = /**\n * Register a listener to be called when the platform is disposed.\n * @param {?} callback\n * @return {?}\n */\n function (callback) { this._destroyListeners.push(callback); };\n Object.defineProperty(PlatformRef.prototype, \"injector\", {\n /**\n * Retrieve the platform {@link Injector}, which is the parent injector for\n * every Angular application on the page and provides singleton providers.\n */\n get: /**\n * Retrieve the platform {\\@link Injector}, which is the parent injector for\n * every Angular application on the page and provides singleton providers.\n * @return {?}\n */\n function () { return this._injector; },\n enumerable: true,\n configurable: true\n });\n /**\n * Destroy the Angular platform and all Angular applications on the page.\n */\n /**\n * Destroy the Angular platform and all Angular applications on the page.\n * @return {?}\n */\n PlatformRef.prototype.destroy = /**\n * Destroy the Angular platform and all Angular applications on the page.\n * @return {?}\n */\n function () {\n if (this._destroyed) {\n throw new Error('The platform has already been destroyed!');\n }\n this._modules.slice().forEach(function (module) { return module.destroy(); });\n this._destroyListeners.forEach(function (listener) { return listener(); });\n this._destroyed = true;\n };\n Object.defineProperty(PlatformRef.prototype, \"destroyed\", {\n get: /**\n * @return {?}\n */\n function () { return this._destroyed; },\n enumerable: true,\n configurable: true\n });\n PlatformRef.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n PlatformRef.ctorParameters = function () { return [\n { type: Injector, },\n ]; };\n return PlatformRef;\n}());\n/**\n * @param {?=} ngZoneOption\n * @return {?}\n */\nfunction getNgZone(ngZoneOption) {\n var /** @type {?} */ ngZone;\n if (ngZoneOption === 'noop') {\n ngZone = new NoopNgZone();\n }\n else {\n ngZone = (ngZoneOption === 'zone.js' ? undefined : ngZoneOption) ||\n new NgZone({ enableLongStackTrace: isDevMode() });\n }\n return ngZone;\n}\n/**\n * @param {?} errorHandler\n * @param {?} ngZone\n * @param {?} callback\n * @return {?}\n */\nfunction _callAndReportToErrorHandler(errorHandler, ngZone, callback) {\n try {\n var /** @type {?} */ result = callback();\n if (isPromise(result)) {\n return result.catch(function (e) {\n ngZone.runOutsideAngular(function () { return errorHandler.handleError(e); });\n // rethrow as the exception handler might not do it\n throw e;\n });\n }\n return result;\n }\n catch (/** @type {?} */ e) {\n ngZone.runOutsideAngular(function () { return errorHandler.handleError(e); });\n // rethrow as the exception handler might not do it\n throw e;\n }\n}\n/**\n * @template T\n * @param {?} dst\n * @param {?} objs\n * @return {?}\n */\nfunction optionsReducer(dst, objs) {\n if (Array.isArray(objs)) {\n dst = objs.reduce(optionsReducer, dst);\n }\n else {\n dst = __assign({}, dst, (/** @type {?} */ (objs)));\n }\n return dst;\n}\n/**\n * A reference to an Angular application running on a page.\n *\n * \\@stable\n */\nvar ApplicationRef = /** @class */ (function () {\n /** @internal */\n function ApplicationRef(_zone, _console, _injector, _exceptionHandler, _componentFactoryResolver, _initStatus) {\n var _this = this;\n this._zone = _zone;\n this._console = _console;\n this._injector = _injector;\n this._exceptionHandler = _exceptionHandler;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._initStatus = _initStatus;\n this._bootstrapListeners = [];\n this._views = [];\n this._runningTick = false;\n this._enforceNoNewChanges = false;\n this._stable = true;\n /**\n * Get a list of component types registered to this application.\n * This list is populated even before the component is created.\n */\n this.componentTypes = [];\n /**\n * Get a list of components registered to this application.\n */\n this.components = [];\n this._enforceNoNewChanges = isDevMode();\n this._zone.onMicrotaskEmpty.subscribe({ next: function () { _this._zone.run(function () { _this.tick(); }); } });\n var /** @type {?} */ isCurrentlyStable = new Observable(function (observer) {\n _this._stable = _this._zone.isStable && !_this._zone.hasPendingMacrotasks &&\n !_this._zone.hasPendingMicrotasks;\n _this._zone.runOutsideAngular(function () {\n observer.next(_this._stable);\n observer.complete();\n });\n });\n var /** @type {?} */ isStable = new Observable(function (observer) {\n // Create the subscription to onStable outside the Angular Zone so that\n // the callback is run outside the Angular Zone.\n var /** @type {?} */ stableSub;\n _this._zone.runOutsideAngular(function () {\n stableSub = _this._zone.onStable.subscribe(function () {\n NgZone.assertNotInAngularZone();\n // Check whether there are no pending macro/micro tasks in the next tick\n // to allow for NgZone to update the state.\n scheduleMicroTask(function () {\n if (!_this._stable && !_this._zone.hasPendingMacrotasks &&\n !_this._zone.hasPendingMicrotasks) {\n _this._stable = true;\n observer.next(true);\n }\n });\n });\n });\n var /** @type {?} */ unstableSub = _this._zone.onUnstable.subscribe(function () {\n NgZone.assertInAngularZone();\n if (_this._stable) {\n _this._stable = false;\n _this._zone.runOutsideAngular(function () { observer.next(false); });\n }\n });\n return function () {\n stableSub.unsubscribe();\n unstableSub.unsubscribe();\n };\n });\n (/** @type {?} */ (this)).isStable =\n merge(isCurrentlyStable, share.call(isStable));\n }\n /**\n * Bootstrap a new component at the root level of the application.\n *\n * ### Bootstrap process\n *\n * When bootstrapping a new root component into an application, Angular mounts the\n * specified application component onto DOM elements identified by the [componentType]'s\n * selector and kicks off automatic change detection to finish initializing the component.\n *\n * Optionally, a component can be mounted onto a DOM element that does not match the\n * [componentType]'s selector.\n *\n * ### Example\n * {@example core/ts/platform/platform.ts region='longform'}\n */\n /**\n * Bootstrap a new component at the root level of the application.\n *\n * ### Bootstrap process\n *\n * When bootstrapping a new root component into an application, Angular mounts the\n * specified application component onto DOM elements identified by the [componentType]'s\n * selector and kicks off automatic change detection to finish initializing the component.\n *\n * Optionally, a component can be mounted onto a DOM element that does not match the\n * [componentType]'s selector.\n *\n * ### Example\n * {\\@example core/ts/platform/platform.ts region='longform'}\n * @template C\n * @param {?} componentOrFactory\n * @param {?=} rootSelectorOrNode\n * @return {?}\n */\n ApplicationRef.prototype.bootstrap = /**\n * Bootstrap a new component at the root level of the application.\n *\n * ### Bootstrap process\n *\n * When bootstrapping a new root component into an application, Angular mounts the\n * specified application component onto DOM elements identified by the [componentType]'s\n * selector and kicks off automatic change detection to finish initializing the component.\n *\n * Optionally, a component can be mounted onto a DOM element that does not match the\n * [componentType]'s selector.\n *\n * ### Example\n * {\\@example core/ts/platform/platform.ts region='longform'}\n * @template C\n * @param {?} componentOrFactory\n * @param {?=} rootSelectorOrNode\n * @return {?}\n */\n function (componentOrFactory, rootSelectorOrNode) {\n var _this = this;\n if (!this._initStatus.done) {\n throw new Error('Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.');\n }\n var /** @type {?} */ componentFactory;\n if (componentOrFactory instanceof ComponentFactory) {\n componentFactory = componentOrFactory;\n }\n else {\n componentFactory =\n /** @type {?} */ ((this._componentFactoryResolver.resolveComponentFactory(componentOrFactory)));\n }\n this.componentTypes.push(componentFactory.componentType);\n // Create a factory associated with the current module if it's not bound to some other\n var /** @type {?} */ ngModule = componentFactory instanceof ComponentFactoryBoundToModule ?\n null :\n this._injector.get(NgModuleRef);\n var /** @type {?} */ selectorOrNode = rootSelectorOrNode || componentFactory.selector;\n var /** @type {?} */ compRef = componentFactory.create(Injector.NULL, [], selectorOrNode, ngModule);\n compRef.onDestroy(function () { _this._unloadComponent(compRef); });\n var /** @type {?} */ testability = compRef.injector.get(Testability, null);\n if (testability) {\n compRef.injector.get(TestabilityRegistry)\n .registerApplication(compRef.location.nativeElement, testability);\n }\n this._loadComponent(compRef);\n if (isDevMode()) {\n this._console.log(\"Angular is running in the development mode. Call enableProdMode() to enable the production mode.\");\n }\n return compRef;\n };\n /**\n * Invoke this method to explicitly process change detection and its side-effects.\n *\n * In development mode, `tick()` also performs a second change detection cycle to ensure that no\n * further changes are detected. If additional changes are picked up during this second cycle,\n * bindings in the app have side-effects that cannot be resolved in a single change detection\n * pass.\n * In this case, Angular throws an error, since an Angular application can only have one change\n * detection pass during which all change detection must complete.\n */\n /**\n * Invoke this method to explicitly process change detection and its side-effects.\n *\n * In development mode, `tick()` also performs a second change detection cycle to ensure that no\n * further changes are detected. If additional changes are picked up during this second cycle,\n * bindings in the app have side-effects that cannot be resolved in a single change detection\n * pass.\n * In this case, Angular throws an error, since an Angular application can only have one change\n * detection pass during which all change detection must complete.\n * @return {?}\n */\n ApplicationRef.prototype.tick = /**\n * Invoke this method to explicitly process change detection and its side-effects.\n *\n * In development mode, `tick()` also performs a second change detection cycle to ensure that no\n * further changes are detected. If additional changes are picked up during this second cycle,\n * bindings in the app have side-effects that cannot be resolved in a single change detection\n * pass.\n * In this case, Angular throws an error, since an Angular application can only have one change\n * detection pass during which all change detection must complete.\n * @return {?}\n */\n function () {\n var _this = this;\n if (this._runningTick) {\n throw new Error('ApplicationRef.tick is called recursively');\n }\n var /** @type {?} */ scope = ApplicationRef._tickScope();\n try {\n this._runningTick = true;\n this._views.forEach(function (view) { return view.detectChanges(); });\n if (this._enforceNoNewChanges) {\n this._views.forEach(function (view) { return view.checkNoChanges(); });\n }\n }\n catch (/** @type {?} */ e) {\n // Attention: Don't rethrow as it could cancel subscriptions to Observables!\n this._zone.runOutsideAngular(function () { return _this._exceptionHandler.handleError(e); });\n }\n finally {\n this._runningTick = false;\n wtfLeave(scope);\n }\n };\n /**\n * Attaches a view so that it will be dirty checked.\n * The view will be automatically detached when it is destroyed.\n * This will throw if the view is already attached to a ViewContainer.\n */\n /**\n * Attaches a view so that it will be dirty checked.\n * The view will be automatically detached when it is destroyed.\n * This will throw if the view is already attached to a ViewContainer.\n * @param {?} viewRef\n * @return {?}\n */\n ApplicationRef.prototype.attachView = /**\n * Attaches a view so that it will be dirty checked.\n * The view will be automatically detached when it is destroyed.\n * This will throw if the view is already attached to a ViewContainer.\n * @param {?} viewRef\n * @return {?}\n */\n function (viewRef) {\n var /** @type {?} */ view = (/** @type {?} */ (viewRef));\n this._views.push(view);\n view.attachToAppRef(this);\n };\n /**\n * Detaches a view from dirty checking again.\n */\n /**\n * Detaches a view from dirty checking again.\n * @param {?} viewRef\n * @return {?}\n */\n ApplicationRef.prototype.detachView = /**\n * Detaches a view from dirty checking again.\n * @param {?} viewRef\n * @return {?}\n */\n function (viewRef) {\n var /** @type {?} */ view = (/** @type {?} */ (viewRef));\n remove(this._views, view);\n view.detachFromAppRef();\n };\n /**\n * @param {?} componentRef\n * @return {?}\n */\n ApplicationRef.prototype._loadComponent = /**\n * @param {?} componentRef\n * @return {?}\n */\n function (componentRef) {\n this.attachView(componentRef.hostView);\n this.tick();\n this.components.push(componentRef);\n // Get the listeners lazily to prevent DI cycles.\n var /** @type {?} */ listeners = this._injector.get(APP_BOOTSTRAP_LISTENER, []).concat(this._bootstrapListeners);\n listeners.forEach(function (listener) { return listener(componentRef); });\n };\n /**\n * @param {?} componentRef\n * @return {?}\n */\n ApplicationRef.prototype._unloadComponent = /**\n * @param {?} componentRef\n * @return {?}\n */\n function (componentRef) {\n this.detachView(componentRef.hostView);\n remove(this.components, componentRef);\n };\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n ApplicationRef.prototype.ngOnDestroy = /**\n * \\@internal\n * @return {?}\n */\n function () {\n // TODO(alxhub): Dispose of the NgZone.\n this._views.slice().forEach(function (view) { return view.destroy(); });\n };\n Object.defineProperty(ApplicationRef.prototype, \"viewCount\", {\n /**\n * Returns the number of attached views.\n */\n get: /**\n * Returns the number of attached views.\n * @return {?}\n */\n function () { return this._views.length; },\n enumerable: true,\n configurable: true\n });\n /**\n * \\@internal\n */\n ApplicationRef._tickScope = wtfCreateScope('ApplicationRef#tick()');\n ApplicationRef.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n ApplicationRef.ctorParameters = function () { return [\n { type: NgZone, },\n { type: Console, },\n { type: Injector, },\n { type: ErrorHandler, },\n { type: ComponentFactoryResolver, },\n { type: ApplicationInitStatus, },\n ]; };\n return ApplicationRef;\n}());\n/**\n * @template T\n * @param {?} list\n * @param {?} el\n * @return {?}\n */\nfunction remove(list, el) {\n var /** @type {?} */ index = list.indexOf(el);\n if (index > -1) {\n list.splice(index, 1);\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @deprecated Use `RendererType2` (and `Renderer2`) instead.\n */\nvar RenderComponentType = /** @class */ (function () {\n function RenderComponentType(id, templateUrl, slotCount, encapsulation, styles, animations) {\n this.id = id;\n this.templateUrl = templateUrl;\n this.slotCount = slotCount;\n this.encapsulation = encapsulation;\n this.styles = styles;\n this.animations = animations;\n }\n return RenderComponentType;\n}());\n/**\n * @deprecated Debug info is handeled internally in the view engine now.\n * @abstract\n */\nvar RenderDebugInfo = /** @class */ (function () {\n function RenderDebugInfo() {\n }\n return RenderDebugInfo;\n}());\n/**\n * @deprecated Use the `Renderer2` instead.\n * @record\n */\n\n/**\n * @deprecated Use the `Renderer2` instead.\n * @abstract\n */\nvar Renderer = /** @class */ (function () {\n function Renderer() {\n }\n return Renderer;\n}());\nvar Renderer2Interceptor = new InjectionToken('Renderer2Interceptor');\n/**\n * Injectable service that provides a low-level interface for modifying the UI.\n *\n * Use this service to bypass Angular's templating and make custom UI changes that can't be\n * expressed declaratively. For example if you need to set a property or an attribute whose name is\n * not statically known, use {\\@link Renderer#setElementProperty setElementProperty} or\n * {\\@link Renderer#setElementAttribute setElementAttribute} respectively.\n *\n * If you are implementing a custom renderer, you must implement this interface.\n *\n * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.\n *\n * @deprecated Use `RendererFactory2` instead.\n * @abstract\n */\nvar RootRenderer = /** @class */ (function () {\n function RootRenderer() {\n }\n return RootRenderer;\n}());\n/**\n * \\@experimental\n * @record\n */\n\n/**\n * \\@experimental\n * @abstract\n */\nvar RendererFactory2 = /** @class */ (function () {\n function RendererFactory2() {\n }\n return RendererFactory2;\n}());\n/** @enum {number} */\nvar RendererStyleFlags2 = {\n Important: 1,\n DashCase: 2,\n};\nRendererStyleFlags2[RendererStyleFlags2.Important] = \"Important\";\nRendererStyleFlags2[RendererStyleFlags2.DashCase] = \"DashCase\";\n/**\n * \\@experimental\n * @abstract\n */\nvar Renderer2 = /** @class */ (function () {\n function Renderer2() {\n }\n return Renderer2;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around a native element inside of a View.\n *\n * An `ElementRef` is backed by a render-specific element. In the browser, this is usually a DOM\n * element.\n *\n * \\@security Permitting direct access to the DOM can make your application more vulnerable to\n * XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the\n * [Security Guide](http://g.co/ng/security).\n *\n * \\@stable\n */\nvar ElementRef = /** @class */ (function () {\n function ElementRef(nativeElement) {\n this.nativeElement = nativeElement;\n }\n return ElementRef;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used to load ng module factories.\n * \\@stable\n * @abstract\n */\nvar NgModuleFactoryLoader = /** @class */ (function () {\n function NgModuleFactoryLoader() {\n }\n return NgModuleFactoryLoader;\n}());\nvar moduleFactories = new Map();\n/**\n * Registers a loaded module. Should only be called from generated NgModuleFactory code.\n * \\@experimental\n * @param {?} id\n * @param {?} factory\n * @return {?}\n */\nfunction registerModuleFactory(id, factory) {\n var /** @type {?} */ existing = moduleFactories.get(id);\n if (existing) {\n throw new Error(\"Duplicate module registered for \" + id + \" - \" + existing.moduleType.name + \" vs \" + factory.moduleType.name);\n }\n moduleFactories.set(id, factory);\n}\n/**\n * @return {?}\n */\n\n/**\n * Returns the NgModuleFactory with the given id, if it exists and has been loaded.\n * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module\n * cannot be found.\n * \\@experimental\n * @param {?} id\n * @return {?}\n */\nfunction getModuleFactory(id) {\n var /** @type {?} */ factory = moduleFactories.get(id);\n if (!factory)\n throw new Error(\"No module with ID \" + id + \" loaded\");\n return factory;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An unmodifiable list of items that Angular keeps up to date when the state\n * of the application changes.\n *\n * The type of object that {\\@link ViewChildren}, {\\@link ContentChildren}, and {\\@link QueryList}\n * provide.\n *\n * Implements an iterable interface, therefore it can be used in both ES6\n * javascript `for (var i of items)` loops as well as in Angular templates with\n * `*ngFor=\"let i of myList\"`.\n *\n * Changes can be observed by subscribing to the changes `Observable`.\n *\n * NOTE: In the future this class will implement an `Observable` interface.\n *\n * ### Example ([live demo](http://plnkr.co/edit/RX8sJnQYl9FWuSCWme5z?p=preview))\n * ```typescript\n * \\@Component({...})\n * class Container {\n * \\@ViewChildren(Item) items:QueryList;\n * }\n * ```\n * \\@stable\n */\nvar QueryList = /** @class */ (function () {\n function QueryList() {\n this.dirty = true;\n this._results = [];\n this.changes = new EventEmitter();\n }\n /**\n * See\n * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\n */\n /**\n * See\n * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\n * @template U\n * @param {?} fn\n * @return {?}\n */\n QueryList.prototype.map = /**\n * See\n * [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\n * @template U\n * @param {?} fn\n * @return {?}\n */\n function (fn) { return this._results.map(fn); };\n /**\n * See\n * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)\n */\n /**\n * See\n * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)\n * @param {?} fn\n * @return {?}\n */\n QueryList.prototype.filter = /**\n * See\n * [Array.filter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n return this._results.filter(fn);\n };\n /**\n * See\n * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n */\n /**\n * See\n * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n * @param {?} fn\n * @return {?}\n */\n QueryList.prototype.find = /**\n * See\n * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n return this._results.find(fn);\n };\n /**\n * See\n * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)\n */\n /**\n * See\n * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)\n * @template U\n * @param {?} fn\n * @param {?} init\n * @return {?}\n */\n QueryList.prototype.reduce = /**\n * See\n * [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)\n * @template U\n * @param {?} fn\n * @param {?} init\n * @return {?}\n */\n function (fn, init) {\n return this._results.reduce(fn, init);\n };\n /**\n * See\n * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\n */\n /**\n * See\n * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\n * @param {?} fn\n * @return {?}\n */\n QueryList.prototype.forEach = /**\n * See\n * [Array.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this._results.forEach(fn); };\n /**\n * See\n * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)\n */\n /**\n * See\n * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)\n * @param {?} fn\n * @return {?}\n */\n QueryList.prototype.some = /**\n * See\n * [Array.some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n return this._results.some(fn);\n };\n /**\n * @return {?}\n */\n QueryList.prototype.toArray = /**\n * @return {?}\n */\n function () { return this._results.slice(); };\n /**\n * @return {?}\n */\n QueryList.prototype[getSymbolIterator()] = /**\n * @return {?}\n */\n function () { return (/** @type {?} */ (this._results))[getSymbolIterator()](); };\n /**\n * @return {?}\n */\n QueryList.prototype.toString = /**\n * @return {?}\n */\n function () { return this._results.toString(); };\n /**\n * @param {?} res\n * @return {?}\n */\n QueryList.prototype.reset = /**\n * @param {?} res\n * @return {?}\n */\n function (res) {\n this._results = flatten(res);\n (/** @type {?} */ (this)).dirty = false;\n (/** @type {?} */ (this)).length = this._results.length;\n (/** @type {?} */ (this)).last = this._results[this.length - 1];\n (/** @type {?} */ (this)).first = this._results[0];\n };\n /**\n * @return {?}\n */\n QueryList.prototype.notifyOnChanges = /**\n * @return {?}\n */\n function () { (/** @type {?} */ (this.changes)).emit(this); };\n /** internal */\n /**\n * internal\n * @return {?}\n */\n QueryList.prototype.setDirty = /**\n * internal\n * @return {?}\n */\n function () { (/** @type {?} */ (this)).dirty = true; };\n /** internal */\n /**\n * internal\n * @return {?}\n */\n QueryList.prototype.destroy = /**\n * internal\n * @return {?}\n */\n function () {\n (/** @type {?} */ (this.changes)).complete();\n (/** @type {?} */ (this.changes)).unsubscribe();\n };\n return QueryList;\n}());\n/**\n * @template T\n * @param {?} list\n * @return {?}\n */\nfunction flatten(list) {\n return list.reduce(function (flat, item) {\n var /** @type {?} */ flatItem = Array.isArray(item) ? flatten(item) : item;\n return (/** @type {?} */ (flat)).concat(flatItem);\n }, []);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar _SEPARATOR = '#';\nvar FACTORY_CLASS_SUFFIX = 'NgFactory';\n/**\n * Configuration for SystemJsNgModuleLoader.\n * token.\n *\n * \\@experimental\n * @abstract\n */\nvar SystemJsNgModuleLoaderConfig = /** @class */ (function () {\n function SystemJsNgModuleLoaderConfig() {\n }\n return SystemJsNgModuleLoaderConfig;\n}());\nvar DEFAULT_CONFIG = {\n factoryPathPrefix: '',\n factoryPathSuffix: '.ngfactory',\n};\n/**\n * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory\n * \\@experimental\n */\nvar SystemJsNgModuleLoader = /** @class */ (function () {\n function SystemJsNgModuleLoader(_compiler, config) {\n this._compiler = _compiler;\n this._config = config || DEFAULT_CONFIG;\n }\n /**\n * @param {?} path\n * @return {?}\n */\n SystemJsNgModuleLoader.prototype.load = /**\n * @param {?} path\n * @return {?}\n */\n function (path) {\n var /** @type {?} */ offlineMode = this._compiler instanceof Compiler;\n return offlineMode ? this.loadFactory(path) : this.loadAndCompile(path);\n };\n /**\n * @param {?} path\n * @return {?}\n */\n SystemJsNgModuleLoader.prototype.loadAndCompile = /**\n * @param {?} path\n * @return {?}\n */\n function (path) {\n var _this = this;\n var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];\n if (exportName === undefined) {\n exportName = 'default';\n }\n return System.import(module)\n .then(function (module) { return module[exportName]; })\n .then(function (type) { return checkNotEmpty(type, module, exportName); })\n .then(function (type) { return _this._compiler.compileModuleAsync(type); });\n };\n /**\n * @param {?} path\n * @return {?}\n */\n SystemJsNgModuleLoader.prototype.loadFactory = /**\n * @param {?} path\n * @return {?}\n */\n function (path) {\n var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];\n var /** @type {?} */ factoryClassSuffix = FACTORY_CLASS_SUFFIX;\n if (exportName === undefined) {\n exportName = 'default';\n factoryClassSuffix = '';\n }\n return System.import(this._config.factoryPathPrefix + module + this._config.factoryPathSuffix)\n .then(function (module) { return module[exportName + factoryClassSuffix]; })\n .then(function (factory) { return checkNotEmpty(factory, module, exportName); });\n };\n SystemJsNgModuleLoader.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n SystemJsNgModuleLoader.ctorParameters = function () { return [\n { type: Compiler, },\n { type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional },] },\n ]; };\n return SystemJsNgModuleLoader;\n}());\n/**\n * @param {?} value\n * @param {?} modulePath\n * @param {?} exportName\n * @return {?}\n */\nfunction checkNotEmpty(value, modulePath, exportName) {\n if (!value) {\n throw new Error(\"Cannot find '\" + exportName + \"' in '\" + modulePath + \"'\");\n }\n return value;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents an Embedded Template that can be used to instantiate Embedded Views.\n *\n * You can access a `TemplateRef`, in two ways. Via a directive placed on a `` element\n * (or directive prefixed with `*`) and have the `TemplateRef` for this Embedded View injected into\n * the constructor of the directive using the `TemplateRef` Token. Alternatively you can query for\n * the `TemplateRef` from a Component or a Directive via {\\@link Query}.\n *\n * To instantiate Embedded Views based on a Template, use {\\@link ViewContainerRef#\n * createEmbeddedView}, which will create the View and attach it to the View Container.\n * \\@stable\n * @abstract\n */\nvar TemplateRef = /** @class */ (function () {\n function TemplateRef() {\n }\n return TemplateRef;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents a container where one or more Views can be attached.\n *\n * The container can contain two kinds of Views. Host Views, created by instantiating a\n * {\\@link Component} via {\\@link #createComponent}, and Embedded Views, created by instantiating an\n * {\\@link TemplateRef Embedded Template} via {\\@link #createEmbeddedView}.\n *\n * The location of the View Container within the containing View is specified by the Anchor\n * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only\n * have a single View Container.\n *\n * Root elements of Views attached to this container become siblings of the Anchor Element in\n * the Rendered View.\n *\n * To access a `ViewContainerRef` of an Element, you can either place a {\\@link Directive} injected\n * with `ViewContainerRef` on the Element, or you obtain it via a {\\@link ViewChild} query.\n * \\@stable\n * @abstract\n */\nvar ViewContainerRef = /** @class */ (function () {\n function ViewContainerRef() {\n }\n return ViewContainerRef;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@stable\n * @abstract\n */\nvar ChangeDetectorRef = /** @class */ (function () {\n function ChangeDetectorRef() {\n }\n return ChangeDetectorRef;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@stable\n * @abstract\n */\nvar ViewRef = /** @class */ (function (_super) {\n __extends(ViewRef, _super);\n function ViewRef() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ViewRef;\n}(ChangeDetectorRef));\n/**\n * Represents an Angular View.\n *\n * \n * A View is a fundamental building block of the application UI. It is the smallest grouping of\n * Elements which are created and destroyed together.\n *\n * Properties of elements in a View can change, but the structure (number and order) of elements in\n * a View cannot. Changing the structure of Elements can only be done by inserting, moving or\n * removing nested Views via a {\\@link ViewContainerRef}. Each View can contain many View Containers.\n * \n *\n * ### Example\n *\n * Given this template...\n *\n * ```\n * Count: {{items.length}}\n *
    \n *
  • {{item}}
  • \n *
\n * ```\n *\n * We have two {\\@link TemplateRef}s:\n *\n * Outer {\\@link TemplateRef}:\n * ```\n * Count: {{items.length}}\n *
    \n * \n *
\n * ```\n *\n * Inner {\\@link TemplateRef}:\n * ```\n *
  • {{item}}
  • \n * ```\n *\n * Notice that the original template is broken down into two separate {\\@link TemplateRef}s.\n *\n * The outer/inner {\\@link TemplateRef}s are then assembled into views like so:\n *\n * ```\n * \n * Count: 2\n *
      \n * \n *
    • first
    • \n *
    • second
    • \n *
    \n * \n * ```\n * \\@experimental\n * @abstract\n */\nvar EmbeddedViewRef = /** @class */ (function (_super) {\n __extends(EmbeddedViewRef, _super);\n function EmbeddedViewRef() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return EmbeddedViewRef;\n}(ViewRef));\n/**\n * @record\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar EventListener = /** @class */ (function () {\n function EventListener(name, callback) {\n this.name = name;\n this.callback = callback;\n }\n return EventListener;\n}());\n/**\n * \\@experimental All debugging apis are currently experimental.\n */\nvar DebugNode = /** @class */ (function () {\n function DebugNode(nativeNode, parent, _debugContext) {\n this._debugContext = _debugContext;\n this.nativeNode = nativeNode;\n if (parent && parent instanceof DebugElement) {\n parent.addChild(this);\n }\n else {\n this.parent = null;\n }\n this.listeners = [];\n }\n Object.defineProperty(DebugNode.prototype, \"injector\", {\n get: /**\n * @return {?}\n */\n function () { return this._debugContext.injector; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugNode.prototype, \"componentInstance\", {\n get: /**\n * @return {?}\n */\n function () { return this._debugContext.component; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugNode.prototype, \"context\", {\n get: /**\n * @return {?}\n */\n function () { return this._debugContext.context; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugNode.prototype, \"references\", {\n get: /**\n * @return {?}\n */\n function () { return this._debugContext.references; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugNode.prototype, \"providerTokens\", {\n get: /**\n * @return {?}\n */\n function () { return this._debugContext.providerTokens; },\n enumerable: true,\n configurable: true\n });\n return DebugNode;\n}());\n/**\n * \\@experimental All debugging apis are currently experimental.\n */\nvar DebugElement = /** @class */ (function (_super) {\n __extends(DebugElement, _super);\n function DebugElement(nativeNode, parent, _debugContext) {\n var _this = _super.call(this, nativeNode, parent, _debugContext) || this;\n _this.properties = {};\n _this.attributes = {};\n _this.classes = {};\n _this.styles = {};\n _this.childNodes = [];\n _this.nativeElement = nativeNode;\n return _this;\n }\n /**\n * @param {?} child\n * @return {?}\n */\n DebugElement.prototype.addChild = /**\n * @param {?} child\n * @return {?}\n */\n function (child) {\n if (child) {\n this.childNodes.push(child);\n child.parent = this;\n }\n };\n /**\n * @param {?} child\n * @return {?}\n */\n DebugElement.prototype.removeChild = /**\n * @param {?} child\n * @return {?}\n */\n function (child) {\n var /** @type {?} */ childIndex = this.childNodes.indexOf(child);\n if (childIndex !== -1) {\n child.parent = null;\n this.childNodes.splice(childIndex, 1);\n }\n };\n /**\n * @param {?} child\n * @param {?} newChildren\n * @return {?}\n */\n DebugElement.prototype.insertChildrenAfter = /**\n * @param {?} child\n * @param {?} newChildren\n * @return {?}\n */\n function (child, newChildren) {\n var _this = this;\n var /** @type {?} */ siblingIndex = this.childNodes.indexOf(child);\n if (siblingIndex !== -1) {\n (_a = this.childNodes).splice.apply(_a, [siblingIndex + 1, 0].concat(newChildren));\n newChildren.forEach(function (c) {\n if (c.parent) {\n c.parent.removeChild(c);\n }\n c.parent = _this;\n });\n }\n var _a;\n };\n /**\n * @param {?} refChild\n * @param {?} newChild\n * @return {?}\n */\n DebugElement.prototype.insertBefore = /**\n * @param {?} refChild\n * @param {?} newChild\n * @return {?}\n */\n function (refChild, newChild) {\n var /** @type {?} */ refIndex = this.childNodes.indexOf(refChild);\n if (refIndex === -1) {\n this.addChild(newChild);\n }\n else {\n if (newChild.parent) {\n newChild.parent.removeChild(newChild);\n }\n newChild.parent = this;\n this.childNodes.splice(refIndex, 0, newChild);\n }\n };\n /**\n * @param {?} predicate\n * @return {?}\n */\n DebugElement.prototype.query = /**\n * @param {?} predicate\n * @return {?}\n */\n function (predicate) {\n var /** @type {?} */ results = this.queryAll(predicate);\n return results[0] || null;\n };\n /**\n * @param {?} predicate\n * @return {?}\n */\n DebugElement.prototype.queryAll = /**\n * @param {?} predicate\n * @return {?}\n */\n function (predicate) {\n var /** @type {?} */ matches = [];\n _queryElementChildren(this, predicate, matches);\n return matches;\n };\n /**\n * @param {?} predicate\n * @return {?}\n */\n DebugElement.prototype.queryAllNodes = /**\n * @param {?} predicate\n * @return {?}\n */\n function (predicate) {\n var /** @type {?} */ matches = [];\n _queryNodeChildren(this, predicate, matches);\n return matches;\n };\n Object.defineProperty(DebugElement.prototype, \"children\", {\n get: /**\n * @return {?}\n */\n function () {\n return /** @type {?} */ (this.childNodes.filter(function (node) { return node instanceof DebugElement; }));\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} eventName\n * @param {?} eventObj\n * @return {?}\n */\n DebugElement.prototype.triggerEventHandler = /**\n * @param {?} eventName\n * @param {?} eventObj\n * @return {?}\n */\n function (eventName, eventObj) {\n this.listeners.forEach(function (listener) {\n if (listener.name == eventName) {\n listener.callback(eventObj);\n }\n });\n };\n return DebugElement;\n}(DebugNode));\n/**\n * \\@experimental\n * @param {?} debugEls\n * @return {?}\n */\nfunction asNativeElements(debugEls) {\n return debugEls.map(function (el) { return el.nativeElement; });\n}\n/**\n * @param {?} element\n * @param {?} predicate\n * @param {?} matches\n * @return {?}\n */\nfunction _queryElementChildren(element, predicate, matches) {\n element.childNodes.forEach(function (node) {\n if (node instanceof DebugElement) {\n if (predicate(node)) {\n matches.push(node);\n }\n _queryElementChildren(node, predicate, matches);\n }\n });\n}\n/**\n * @param {?} parentNode\n * @param {?} predicate\n * @param {?} matches\n * @return {?}\n */\nfunction _queryNodeChildren(parentNode, predicate, matches) {\n if (parentNode instanceof DebugElement) {\n parentNode.childNodes.forEach(function (node) {\n if (predicate(node)) {\n matches.push(node);\n }\n if (node instanceof DebugElement) {\n _queryNodeChildren(node, predicate, matches);\n }\n });\n }\n}\n// Need to keep the nodes in a global Map so that multiple angular apps are supported.\nvar _nativeNodeToDebugNode = new Map();\n/**\n * \\@experimental\n * @param {?} nativeNode\n * @return {?}\n */\nfunction getDebugNode(nativeNode) {\n return _nativeNodeToDebugNode.get(nativeNode) || null;\n}\n/**\n * @return {?}\n */\n\n/**\n * @param {?} node\n * @return {?}\n */\nfunction indexDebugNode(node) {\n _nativeNodeToDebugNode.set(node.nativeNode, node);\n}\n/**\n * @param {?} node\n * @return {?}\n */\nfunction removeDebugNodeFromIndex(node) {\n _nativeNodeToDebugNode.delete(node.nativeNode);\n}\n/**\n * A boolean-valued function over a value, possibly including context information\n * regarding that value's position in an array.\n *\n * \\@experimental All debugging apis are currently experimental.\n * @record\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction devModeEqual(a, b) {\n var /** @type {?} */ isListLikeIterableA = isListLikeIterable(a);\n var /** @type {?} */ isListLikeIterableB = isListLikeIterable(b);\n if (isListLikeIterableA && isListLikeIterableB) {\n return areIterablesEqual(a, b, devModeEqual);\n }\n else {\n var /** @type {?} */ isAObject = a && (typeof a === 'object' || typeof a === 'function');\n var /** @type {?} */ isBObject = b && (typeof b === 'object' || typeof b === 'function');\n if (!isListLikeIterableA && isAObject && !isListLikeIterableB && isBObject) {\n return true;\n }\n else {\n return looseIdentical(a, b);\n }\n }\n}\n/**\n * Indicates that the result of a {\\@link Pipe} transformation has changed even though the\n * reference\n * has not changed.\n *\n * The wrapped value will be unwrapped by change detection, and the unwrapped value will be stored.\n *\n * Example:\n *\n * ```\n * if (this._latestValue === this._latestReturnedValue) {\n * return this._latestReturnedValue;\n * } else {\n * this._latestReturnedValue = this._latestValue;\n * return WrappedValue.wrap(this._latestValue); // this will force update\n * }\n * ```\n * \\@stable\n */\nvar WrappedValue = /** @class */ (function () {\n function WrappedValue(wrapped) {\n this.wrapped = wrapped;\n }\n /**\n * @param {?} value\n * @return {?}\n */\n WrappedValue.wrap = /**\n * @param {?} value\n * @return {?}\n */\n function (value) { return new WrappedValue(value); };\n return WrappedValue;\n}());\n/**\n * Helper class for unwrapping WrappedValue s\n */\nvar ValueUnwrapper = /** @class */ (function () {\n function ValueUnwrapper() {\n this.hasWrappedValue = false;\n }\n /**\n * @param {?} value\n * @return {?}\n */\n ValueUnwrapper.prototype.unwrap = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n if (value instanceof WrappedValue) {\n this.hasWrappedValue = true;\n return value.wrapped;\n }\n return value;\n };\n /**\n * @return {?}\n */\n ValueUnwrapper.prototype.reset = /**\n * @return {?}\n */\n function () { this.hasWrappedValue = false; };\n return ValueUnwrapper;\n}());\n/**\n * Represents a basic change from a previous to a new value.\n * \\@stable\n */\nvar SimpleChange = /** @class */ (function () {\n function SimpleChange(previousValue, currentValue, firstChange) {\n this.previousValue = previousValue;\n this.currentValue = currentValue;\n this.firstChange = firstChange;\n }\n /**\n * Check whether the new value is the first value assigned.\n */\n /**\n * Check whether the new value is the first value assigned.\n * @return {?}\n */\n SimpleChange.prototype.isFirstChange = /**\n * Check whether the new value is the first value assigned.\n * @return {?}\n */\n function () { return this.firstChange; };\n return SimpleChange;\n}());\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction isListLikeIterable(obj) {\n if (!isJsObject(obj))\n return false;\n return Array.isArray(obj) ||\n (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]\n // JS Map are iterables but return entries as [k, v]\n getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\n/**\n * @param {?} a\n * @param {?} b\n * @param {?} comparator\n * @return {?}\n */\nfunction areIterablesEqual(a, b, comparator) {\n var /** @type {?} */ iterator1 = a[getSymbolIterator()]();\n var /** @type {?} */ iterator2 = b[getSymbolIterator()]();\n while (true) {\n var /** @type {?} */ item1 = iterator1.next();\n var /** @type {?} */ item2 = iterator2.next();\n if (item1.done && item2.done)\n return true;\n if (item1.done || item2.done)\n return false;\n if (!comparator(item1.value, item2.value))\n return false;\n }\n}\n/**\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\nfunction iterateListLike(obj, fn) {\n if (Array.isArray(obj)) {\n for (var /** @type {?} */ i = 0; i < obj.length; i++) {\n fn(obj[i]);\n }\n }\n else {\n var /** @type {?} */ iterator = obj[getSymbolIterator()]();\n var /** @type {?} */ item = void 0;\n while (!((item = iterator.next()).done)) {\n fn(item.value);\n }\n }\n}\n/**\n * @param {?} o\n * @return {?}\n */\nfunction isJsObject(o) {\n return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar DefaultIterableDifferFactory = /** @class */ (function () {\n function DefaultIterableDifferFactory() {\n }\n /**\n * @param {?} obj\n * @return {?}\n */\n DefaultIterableDifferFactory.prototype.supports = /**\n * @param {?} obj\n * @return {?}\n */\n function (obj) { return isListLikeIterable(obj); };\n /**\n * @template V\n * @param {?=} trackByFn\n * @return {?}\n */\n DefaultIterableDifferFactory.prototype.create = /**\n * @template V\n * @param {?=} trackByFn\n * @return {?}\n */\n function (trackByFn) {\n return new DefaultIterableDiffer(trackByFn);\n };\n return DefaultIterableDifferFactory;\n}());\nvar trackByIdentity = function (index, item) { return item; };\n/**\n * @deprecated v4.0.0 - Should not be part of public API.\n */\nvar DefaultIterableDiffer = /** @class */ (function () {\n function DefaultIterableDiffer(trackByFn) {\n this.length = 0;\n this._linkedRecords = null;\n this._unlinkedRecords = null;\n this._previousItHead = null;\n this._itHead = null;\n this._itTail = null;\n this._additionsHead = null;\n this._additionsTail = null;\n this._movesHead = null;\n this._movesTail = null;\n this._removalsHead = null;\n this._removalsTail = null;\n this._identityChangesHead = null;\n this._identityChangesTail = null;\n this._trackByFn = trackByFn || trackByIdentity;\n }\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultIterableDiffer.prototype.forEachItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._itHead; record !== null; record = record._next) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultIterableDiffer.prototype.forEachOperation = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ nextIt = this._itHead;\n var /** @type {?} */ nextRemove = this._removalsHead;\n var /** @type {?} */ addRemoveOffset = 0;\n var /** @type {?} */ moveOffsets = null;\n while (nextIt || nextRemove) {\n // Figure out which is the next record to process\n // Order: remove, add, move\n var /** @type {?} */ record = !nextRemove ||\n nextIt && /** @type {?} */ ((nextIt.currentIndex)) < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ? /** @type {?} */\n ((nextIt)) :\n nextRemove;\n var /** @type {?} */ adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets);\n var /** @type {?} */ currentIndex = record.currentIndex;\n // consume the item, and adjust the addRemoveOffset and update moveDistance if necessary\n if (record === nextRemove) {\n addRemoveOffset--;\n nextRemove = nextRemove._nextRemoved;\n }\n else {\n nextIt = /** @type {?} */ ((nextIt))._next;\n if (record.previousIndex == null) {\n addRemoveOffset++;\n }\n else {\n // INVARIANT: currentIndex < previousIndex\n if (!moveOffsets)\n moveOffsets = [];\n var /** @type {?} */ localMovePreviousIndex = adjPreviousIndex - addRemoveOffset;\n var /** @type {?} */ localCurrentIndex = /** @type {?} */ ((currentIndex)) - addRemoveOffset;\n if (localMovePreviousIndex != localCurrentIndex) {\n for (var /** @type {?} */ i = 0; i < localMovePreviousIndex; i++) {\n var /** @type {?} */ offset = i < moveOffsets.length ? moveOffsets[i] : (moveOffsets[i] = 0);\n var /** @type {?} */ index = offset + i;\n if (localCurrentIndex <= index && index < localMovePreviousIndex) {\n moveOffsets[i] = offset + 1;\n }\n }\n var /** @type {?} */ previousIndex = record.previousIndex;\n moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex;\n }\n }\n }\n if (adjPreviousIndex !== currentIndex) {\n fn(record, adjPreviousIndex, currentIndex);\n }\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultIterableDiffer.prototype.forEachPreviousItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._previousItHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultIterableDiffer.prototype.forEachAddedItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultIterableDiffer.prototype.forEachMovedItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._movesHead; record !== null; record = record._nextMoved) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultIterableDiffer.prototype.forEachRemovedItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultIterableDiffer.prototype.forEachIdentityChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) {\n fn(record);\n }\n };\n /**\n * @param {?} collection\n * @return {?}\n */\n DefaultIterableDiffer.prototype.diff = /**\n * @param {?} collection\n * @return {?}\n */\n function (collection) {\n if (collection == null)\n collection = [];\n if (!isListLikeIterable(collection)) {\n throw new Error(\"Error trying to diff '\" + stringify(collection) + \"'. Only arrays and iterables are allowed\");\n }\n if (this.check(collection)) {\n return this;\n }\n else {\n return null;\n }\n };\n /**\n * @return {?}\n */\n DefaultIterableDiffer.prototype.onDestroy = /**\n * @return {?}\n */\n function () { };\n /**\n * @param {?} collection\n * @return {?}\n */\n DefaultIterableDiffer.prototype.check = /**\n * @param {?} collection\n * @return {?}\n */\n function (collection) {\n var _this = this;\n this._reset();\n var /** @type {?} */ record = this._itHead;\n var /** @type {?} */ mayBeDirty = false;\n var /** @type {?} */ index;\n var /** @type {?} */ item;\n var /** @type {?} */ itemTrackBy;\n if (Array.isArray(collection)) {\n (/** @type {?} */ (this)).length = collection.length;\n for (var /** @type {?} */ index_1 = 0; index_1 < this.length; index_1++) {\n item = collection[index_1];\n itemTrackBy = this._trackByFn(index_1, item);\n if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n record = this._mismatch(record, item, itemTrackBy, index_1);\n mayBeDirty = true;\n }\n else {\n if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = this._verifyReinsertion(record, item, itemTrackBy, index_1);\n }\n if (!looseIdentical(record.item, item))\n this._addIdentityChange(record, item);\n }\n record = record._next;\n }\n }\n else {\n index = 0;\n iterateListLike(collection, function (item) {\n itemTrackBy = _this._trackByFn(index, item);\n if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {\n record = _this._mismatch(record, item, itemTrackBy, index);\n mayBeDirty = true;\n }\n else {\n if (mayBeDirty) {\n // TODO(misko): can we limit this to duplicates only?\n record = _this._verifyReinsertion(record, item, itemTrackBy, index);\n }\n if (!looseIdentical(record.item, item))\n _this._addIdentityChange(record, item);\n }\n record = record._next;\n index++;\n });\n (/** @type {?} */ (this)).length = index;\n }\n this._truncate(record);\n (/** @type {?} */ (this)).collection = collection;\n return this.isDirty;\n };\n Object.defineProperty(DefaultIterableDiffer.prototype, \"isDirty\", {\n /* CollectionChanges is considered dirty if it has any additions, moves, removals, or identity\n * changes.\n */\n get: /**\n * @return {?}\n */\n function () {\n return this._additionsHead !== null || this._movesHead !== null ||\n this._removalsHead !== null || this._identityChangesHead !== null;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Reset the state of the change objects to show no changes. This means set previousKey to\n * currentKey, and clear all of the queues (additions, moves, removals).\n * Set the previousIndexes of moved and added items to their currentIndexes\n * Reset the list of additions, moves and removals\n *\n * @internal\n */\n /**\n * Reset the state of the change objects to show no changes. This means set previousKey to\n * currentKey, and clear all of the queues (additions, moves, removals).\n * Set the previousIndexes of moved and added items to their currentIndexes\n * Reset the list of additions, moves and removals\n *\n * \\@internal\n * @return {?}\n */\n DefaultIterableDiffer.prototype._reset = /**\n * Reset the state of the change objects to show no changes. This means set previousKey to\n * currentKey, and clear all of the queues (additions, moves, removals).\n * Set the previousIndexes of moved and added items to their currentIndexes\n * Reset the list of additions, moves and removals\n *\n * \\@internal\n * @return {?}\n */\n function () {\n if (this.isDirty) {\n var /** @type {?} */ record = void 0;\n var /** @type {?} */ nextRecord = void 0;\n for (record = this._previousItHead = this._itHead; record !== null; record = record._next) {\n record._nextPrevious = record._next;\n }\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n record.previousIndex = record.currentIndex;\n }\n this._additionsHead = this._additionsTail = null;\n for (record = this._movesHead; record !== null; record = nextRecord) {\n record.previousIndex = record.currentIndex;\n nextRecord = record._nextMoved;\n }\n this._movesHead = this._movesTail = null;\n this._removalsHead = this._removalsTail = null;\n this._identityChangesHead = this._identityChangesTail = null;\n // todo(vicb) when assert gets supported\n // assert(!this.isDirty);\n }\n };\n /**\n * This is the core function which handles differences between collections.\n *\n * - `record` is the record which we saw at this position last time. If null then it is a new\n * item.\n * - `item` is the current item in the collection\n * - `index` is the position of the item in the collection\n *\n * @internal\n */\n /**\n * This is the core function which handles differences between collections.\n *\n * - `record` is the record which we saw at this position last time. If null then it is a new\n * item.\n * - `item` is the current item in the collection\n * - `index` is the position of the item in the collection\n *\n * \\@internal\n * @param {?} record\n * @param {?} item\n * @param {?} itemTrackBy\n * @param {?} index\n * @return {?}\n */\n DefaultIterableDiffer.prototype._mismatch = /**\n * This is the core function which handles differences between collections.\n *\n * - `record` is the record which we saw at this position last time. If null then it is a new\n * item.\n * - `item` is the current item in the collection\n * - `index` is the position of the item in the collection\n *\n * \\@internal\n * @param {?} record\n * @param {?} item\n * @param {?} itemTrackBy\n * @param {?} index\n * @return {?}\n */\n function (record, item, itemTrackBy, index) {\n // The previous record after which we will append the current one.\n var /** @type {?} */ previousRecord;\n if (record === null) {\n previousRecord = this._itTail;\n }\n else {\n previousRecord = record._prev;\n // Remove the record from the collection since we know it does not match the item.\n this._remove(record);\n }\n // Attempt to see if we have seen the item before.\n record = this._linkedRecords === null ? null : this._linkedRecords.get(itemTrackBy, index);\n if (record !== null) {\n // We have seen this before, we need to move it forward in the collection.\n // But first we need to check if identity changed, so we can update in view if necessary\n if (!looseIdentical(record.item, item))\n this._addIdentityChange(record, item);\n this._moveAfter(record, previousRecord, index);\n }\n else {\n // Never seen it, check evicted list.\n record = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy, null);\n if (record !== null) {\n // It is an item which we have evicted earlier: reinsert it back into the list.\n // But first we need to check if identity changed, so we can update in view if necessary\n if (!looseIdentical(record.item, item))\n this._addIdentityChange(record, item);\n this._reinsertAfter(record, previousRecord, index);\n }\n else {\n // It is a new item: add it.\n record =\n this._addAfter(new IterableChangeRecord_(item, itemTrackBy), previousRecord, index);\n }\n }\n return record;\n };\n /**\n * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)\n *\n * Use case: `[a, a]` => `[b, a, a]`\n *\n * If we did not have this check then the insertion of `b` would:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) leave `a` at index `1` as is. <-- this is wrong!\n * 3) reinsert `a` at index 2. <-- this is wrong!\n *\n * The correct behavior is:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) reinsert `a` at index 1.\n * 3) move `a` at from `1` to `2`.\n *\n *\n * Double check that we have not evicted a duplicate item. We need to check if the item type may\n * have already been removed:\n * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted\n * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a\n * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'\n * at the end.\n *\n * @internal\n */\n /**\n * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)\n *\n * Use case: `[a, a]` => `[b, a, a]`\n *\n * If we did not have this check then the insertion of `b` would:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) leave `a` at index `1` as is. <-- this is wrong!\n * 3) reinsert `a` at index 2. <-- this is wrong!\n *\n * The correct behavior is:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) reinsert `a` at index 1.\n * 3) move `a` at from `1` to `2`.\n *\n *\n * Double check that we have not evicted a duplicate item. We need to check if the item type may\n * have already been removed:\n * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted\n * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a\n * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'\n * at the end.\n *\n * \\@internal\n * @param {?} record\n * @param {?} item\n * @param {?} itemTrackBy\n * @param {?} index\n * @return {?}\n */\n DefaultIterableDiffer.prototype._verifyReinsertion = /**\n * This check is only needed if an array contains duplicates. (Short circuit of nothing dirty)\n *\n * Use case: `[a, a]` => `[b, a, a]`\n *\n * If we did not have this check then the insertion of `b` would:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) leave `a` at index `1` as is. <-- this is wrong!\n * 3) reinsert `a` at index 2. <-- this is wrong!\n *\n * The correct behavior is:\n * 1) evict first `a`\n * 2) insert `b` at `0` index.\n * 3) reinsert `a` at index 1.\n * 3) move `a` at from `1` to `2`.\n *\n *\n * Double check that we have not evicted a duplicate item. We need to check if the item type may\n * have already been removed:\n * The insertion of b will evict the first 'a'. If we don't reinsert it now it will be reinserted\n * at the end. Which will show up as the two 'a's switching position. This is incorrect, since a\n * better way to think of it is as insert of 'b' rather then switch 'a' with 'b' and then add 'a'\n * at the end.\n *\n * \\@internal\n * @param {?} record\n * @param {?} item\n * @param {?} itemTrackBy\n * @param {?} index\n * @return {?}\n */\n function (record, item, itemTrackBy, index) {\n var /** @type {?} */ reinsertRecord = this._unlinkedRecords === null ? null : this._unlinkedRecords.get(itemTrackBy, null);\n if (reinsertRecord !== null) {\n record = this._reinsertAfter(reinsertRecord, /** @type {?} */ ((record._prev)), index);\n }\n else if (record.currentIndex != index) {\n record.currentIndex = index;\n this._addToMoves(record, index);\n }\n return record;\n };\n /**\n * Get rid of any excess {@link IterableChangeRecord_}s from the previous collection\n *\n * - `record` The first excess {@link IterableChangeRecord_}.\n *\n * @internal\n */\n /**\n * Get rid of any excess {\\@link IterableChangeRecord_}s from the previous collection\n *\n * - `record` The first excess {\\@link IterableChangeRecord_}.\n *\n * \\@internal\n * @param {?} record\n * @return {?}\n */\n DefaultIterableDiffer.prototype._truncate = /**\n * Get rid of any excess {\\@link IterableChangeRecord_}s from the previous collection\n *\n * - `record` The first excess {\\@link IterableChangeRecord_}.\n *\n * \\@internal\n * @param {?} record\n * @return {?}\n */\n function (record) {\n // Anything after that needs to be removed;\n while (record !== null) {\n var /** @type {?} */ nextRecord = record._next;\n this._addToRemovals(this._unlink(record));\n record = nextRecord;\n }\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.clear();\n }\n if (this._additionsTail !== null) {\n this._additionsTail._nextAdded = null;\n }\n if (this._movesTail !== null) {\n this._movesTail._nextMoved = null;\n }\n if (this._itTail !== null) {\n this._itTail._next = null;\n }\n if (this._removalsTail !== null) {\n this._removalsTail._nextRemoved = null;\n }\n if (this._identityChangesTail !== null) {\n this._identityChangesTail._nextIdentityChange = null;\n }\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n DefaultIterableDiffer.prototype._reinsertAfter = /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n function (record, prevRecord, index) {\n if (this._unlinkedRecords !== null) {\n this._unlinkedRecords.remove(record);\n }\n var /** @type {?} */ prev = record._prevRemoved;\n var /** @type {?} */ next = record._nextRemoved;\n if (prev === null) {\n this._removalsHead = next;\n }\n else {\n prev._nextRemoved = next;\n }\n if (next === null) {\n this._removalsTail = prev;\n }\n else {\n next._prevRemoved = prev;\n }\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n DefaultIterableDiffer.prototype._moveAfter = /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n function (record, prevRecord, index) {\n this._unlink(record);\n this._insertAfter(record, prevRecord, index);\n this._addToMoves(record, index);\n return record;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n DefaultIterableDiffer.prototype._addAfter = /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n function (record, prevRecord, index) {\n this._insertAfter(record, prevRecord, index);\n if (this._additionsTail === null) {\n // todo(vicb)\n // assert(this._additionsHead === null);\n this._additionsTail = this._additionsHead = record;\n }\n else {\n // todo(vicb)\n // assert(_additionsTail._nextAdded === null);\n // assert(record._nextAdded === null);\n this._additionsTail = this._additionsTail._nextAdded = record;\n }\n return record;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n DefaultIterableDiffer.prototype._insertAfter = /**\n * \\@internal\n * @param {?} record\n * @param {?} prevRecord\n * @param {?} index\n * @return {?}\n */\n function (record, prevRecord, index) {\n // todo(vicb)\n // assert(record != prevRecord);\n // assert(record._next === null);\n // assert(record._prev === null);\n var /** @type {?} */ next = prevRecord === null ? this._itHead : prevRecord._next;\n // todo(vicb)\n // assert(next != record);\n // assert(prevRecord != record);\n record._next = next;\n record._prev = prevRecord;\n if (next === null) {\n this._itTail = record;\n }\n else {\n next._prev = record;\n }\n if (prevRecord === null) {\n this._itHead = record;\n }\n else {\n prevRecord._next = record;\n }\n if (this._linkedRecords === null) {\n this._linkedRecords = new _DuplicateMap();\n }\n this._linkedRecords.put(record);\n record.currentIndex = index;\n return record;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @return {?}\n */\n DefaultIterableDiffer.prototype._remove = /**\n * \\@internal\n * @param {?} record\n * @return {?}\n */\n function (record) {\n return this._addToRemovals(this._unlink(record));\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @return {?}\n */\n DefaultIterableDiffer.prototype._unlink = /**\n * \\@internal\n * @param {?} record\n * @return {?}\n */\n function (record) {\n if (this._linkedRecords !== null) {\n this._linkedRecords.remove(record);\n }\n var /** @type {?} */ prev = record._prev;\n var /** @type {?} */ next = record._next;\n // todo(vicb)\n // assert((record._prev = null) === null);\n // assert((record._next = null) === null);\n if (prev === null) {\n this._itHead = next;\n }\n else {\n prev._next = next;\n }\n if (next === null) {\n this._itTail = prev;\n }\n else {\n next._prev = prev;\n }\n return record;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @param {?} toIndex\n * @return {?}\n */\n DefaultIterableDiffer.prototype._addToMoves = /**\n * \\@internal\n * @param {?} record\n * @param {?} toIndex\n * @return {?}\n */\n function (record, toIndex) {\n // todo(vicb)\n // assert(record._nextMoved === null);\n if (record.previousIndex === toIndex) {\n return record;\n }\n if (this._movesTail === null) {\n // todo(vicb)\n // assert(_movesHead === null);\n this._movesTail = this._movesHead = record;\n }\n else {\n // todo(vicb)\n // assert(_movesTail._nextMoved === null);\n this._movesTail = this._movesTail._nextMoved = record;\n }\n return record;\n };\n /**\n * @param {?} record\n * @return {?}\n */\n DefaultIterableDiffer.prototype._addToRemovals = /**\n * @param {?} record\n * @return {?}\n */\n function (record) {\n if (this._unlinkedRecords === null) {\n this._unlinkedRecords = new _DuplicateMap();\n }\n this._unlinkedRecords.put(record);\n record.currentIndex = null;\n record._nextRemoved = null;\n if (this._removalsTail === null) {\n // todo(vicb)\n // assert(_removalsHead === null);\n this._removalsTail = this._removalsHead = record;\n record._prevRemoved = null;\n }\n else {\n // todo(vicb)\n // assert(_removalsTail._nextRemoved === null);\n // assert(record._nextRemoved === null);\n record._prevRemoved = this._removalsTail;\n this._removalsTail = this._removalsTail._nextRemoved = record;\n }\n return record;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} record\n * @param {?} item\n * @return {?}\n */\n DefaultIterableDiffer.prototype._addIdentityChange = /**\n * \\@internal\n * @param {?} record\n * @param {?} item\n * @return {?}\n */\n function (record, item) {\n record.item = item;\n if (this._identityChangesTail === null) {\n this._identityChangesTail = this._identityChangesHead = record;\n }\n else {\n this._identityChangesTail = this._identityChangesTail._nextIdentityChange = record;\n }\n return record;\n };\n return DefaultIterableDiffer;\n}());\n/**\n * \\@stable\n */\nvar IterableChangeRecord_ = /** @class */ (function () {\n function IterableChangeRecord_(item, trackById) {\n this.item = item;\n this.trackById = trackById;\n this.currentIndex = null;\n this.previousIndex = null;\n /**\n * \\@internal\n */\n this._nextPrevious = null;\n /**\n * \\@internal\n */\n this._prev = null;\n /**\n * \\@internal\n */\n this._next = null;\n /**\n * \\@internal\n */\n this._prevDup = null;\n /**\n * \\@internal\n */\n this._nextDup = null;\n /**\n * \\@internal\n */\n this._prevRemoved = null;\n /**\n * \\@internal\n */\n this._nextRemoved = null;\n /**\n * \\@internal\n */\n this._nextAdded = null;\n /**\n * \\@internal\n */\n this._nextMoved = null;\n /**\n * \\@internal\n */\n this._nextIdentityChange = null;\n }\n return IterableChangeRecord_;\n}());\nvar _DuplicateItemRecordList = /** @class */ (function () {\n function _DuplicateItemRecordList() {\n /**\n * \\@internal\n */\n this._head = null;\n /**\n * \\@internal\n */\n this._tail = null;\n }\n /**\n * Append the record to the list of duplicates.\n *\n * Note: by design all records in the list of duplicates hold the same value in record.item.\n */\n /**\n * Append the record to the list of duplicates.\n *\n * Note: by design all records in the list of duplicates hold the same value in record.item.\n * @param {?} record\n * @return {?}\n */\n _DuplicateItemRecordList.prototype.add = /**\n * Append the record to the list of duplicates.\n *\n * Note: by design all records in the list of duplicates hold the same value in record.item.\n * @param {?} record\n * @return {?}\n */\n function (record) {\n if (this._head === null) {\n this._head = this._tail = record;\n record._nextDup = null;\n record._prevDup = null;\n }\n else {\n /** @type {?} */ ((\n // todo(vicb)\n // assert(record.item == _head.item ||\n // record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);\n this._tail))._nextDup = record;\n record._prevDup = this._tail;\n record._nextDup = null;\n this._tail = record;\n }\n };\n // Returns a IterableChangeRecord_ having IterableChangeRecord_.trackById == trackById and\n // IterableChangeRecord_.currentIndex >= atOrAfterIndex\n /**\n * @param {?} trackById\n * @param {?} atOrAfterIndex\n * @return {?}\n */\n _DuplicateItemRecordList.prototype.get = /**\n * @param {?} trackById\n * @param {?} atOrAfterIndex\n * @return {?}\n */\n function (trackById, atOrAfterIndex) {\n var /** @type {?} */ record;\n for (record = this._head; record !== null; record = record._nextDup) {\n if ((atOrAfterIndex === null || atOrAfterIndex <= /** @type {?} */ ((record.currentIndex))) &&\n looseIdentical(record.trackById, trackById)) {\n return record;\n }\n }\n return null;\n };\n /**\n * Remove one {@link IterableChangeRecord_} from the list of duplicates.\n *\n * Returns whether the list of duplicates is empty.\n */\n /**\n * Remove one {\\@link IterableChangeRecord_} from the list of duplicates.\n *\n * Returns whether the list of duplicates is empty.\n * @param {?} record\n * @return {?}\n */\n _DuplicateItemRecordList.prototype.remove = /**\n * Remove one {\\@link IterableChangeRecord_} from the list of duplicates.\n *\n * Returns whether the list of duplicates is empty.\n * @param {?} record\n * @return {?}\n */\n function (record) {\n // todo(vicb)\n // assert(() {\n // // verify that the record being removed is in the list.\n // for (IterableChangeRecord_ cursor = _head; cursor != null; cursor = cursor._nextDup) {\n // if (identical(cursor, record)) return true;\n // }\n // return false;\n //});\n var /** @type {?} */ prev = record._prevDup;\n var /** @type {?} */ next = record._nextDup;\n if (prev === null) {\n this._head = next;\n }\n else {\n prev._nextDup = next;\n }\n if (next === null) {\n this._tail = prev;\n }\n else {\n next._prevDup = prev;\n }\n return this._head === null;\n };\n return _DuplicateItemRecordList;\n}());\nvar _DuplicateMap = /** @class */ (function () {\n function _DuplicateMap() {\n this.map = new Map();\n }\n /**\n * @param {?} record\n * @return {?}\n */\n _DuplicateMap.prototype.put = /**\n * @param {?} record\n * @return {?}\n */\n function (record) {\n var /** @type {?} */ key = record.trackById;\n var /** @type {?} */ duplicates = this.map.get(key);\n if (!duplicates) {\n duplicates = new _DuplicateItemRecordList();\n this.map.set(key, duplicates);\n }\n duplicates.add(record);\n };\n /**\n * Retrieve the `value` using key. Because the IterableChangeRecord_ value may be one which we\n * have already iterated over, we use the `atOrAfterIndex` to pretend it is not there.\n *\n * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we\n * have any more `a`s needs to return the second `a`.\n */\n /**\n * Retrieve the `value` using key. Because the IterableChangeRecord_ value may be one which we\n * have already iterated over, we use the `atOrAfterIndex` to pretend it is not there.\n *\n * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we\n * have any more `a`s needs to return the second `a`.\n * @param {?} trackById\n * @param {?} atOrAfterIndex\n * @return {?}\n */\n _DuplicateMap.prototype.get = /**\n * Retrieve the `value` using key. Because the IterableChangeRecord_ value may be one which we\n * have already iterated over, we use the `atOrAfterIndex` to pretend it is not there.\n *\n * Use case: `[a, b, c, a, a]` if we are at index `3` which is the second `a` then asking if we\n * have any more `a`s needs to return the second `a`.\n * @param {?} trackById\n * @param {?} atOrAfterIndex\n * @return {?}\n */\n function (trackById, atOrAfterIndex) {\n var /** @type {?} */ key = trackById;\n var /** @type {?} */ recordList = this.map.get(key);\n return recordList ? recordList.get(trackById, atOrAfterIndex) : null;\n };\n /**\n * Removes a {@link IterableChangeRecord_} from the list of duplicates.\n *\n * The list of duplicates also is removed from the map if it gets empty.\n */\n /**\n * Removes a {\\@link IterableChangeRecord_} from the list of duplicates.\n *\n * The list of duplicates also is removed from the map if it gets empty.\n * @param {?} record\n * @return {?}\n */\n _DuplicateMap.prototype.remove = /**\n * Removes a {\\@link IterableChangeRecord_} from the list of duplicates.\n *\n * The list of duplicates also is removed from the map if it gets empty.\n * @param {?} record\n * @return {?}\n */\n function (record) {\n var /** @type {?} */ key = record.trackById;\n var /** @type {?} */ recordList = /** @type {?} */ ((this.map.get(key)));\n // Remove the list of duplicates when it gets empty\n if (recordList.remove(record)) {\n this.map.delete(key);\n }\n return record;\n };\n Object.defineProperty(_DuplicateMap.prototype, \"isEmpty\", {\n get: /**\n * @return {?}\n */\n function () { return this.map.size === 0; },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n _DuplicateMap.prototype.clear = /**\n * @return {?}\n */\n function () { this.map.clear(); };\n return _DuplicateMap;\n}());\n/**\n * @param {?} item\n * @param {?} addRemoveOffset\n * @param {?} moveOffsets\n * @return {?}\n */\nfunction getPreviousIndex(item, addRemoveOffset, moveOffsets) {\n var /** @type {?} */ previousIndex = item.previousIndex;\n if (previousIndex === null)\n return previousIndex;\n var /** @type {?} */ moveOffset = 0;\n if (moveOffsets && previousIndex < moveOffsets.length) {\n moveOffset = moveOffsets[previousIndex];\n }\n return previousIndex + addRemoveOffset + moveOffset;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar DefaultKeyValueDifferFactory = /** @class */ (function () {\n function DefaultKeyValueDifferFactory() {\n }\n /**\n * @param {?} obj\n * @return {?}\n */\n DefaultKeyValueDifferFactory.prototype.supports = /**\n * @param {?} obj\n * @return {?}\n */\n function (obj) { return obj instanceof Map || isJsObject(obj); };\n /**\n * @template K, V\n * @return {?}\n */\n DefaultKeyValueDifferFactory.prototype.create = /**\n * @template K, V\n * @return {?}\n */\n function () { return new DefaultKeyValueDiffer(); };\n return DefaultKeyValueDifferFactory;\n}());\nvar DefaultKeyValueDiffer = /** @class */ (function () {\n function DefaultKeyValueDiffer() {\n this._records = new Map();\n this._mapHead = null;\n this._appendAfter = null;\n this._previousMapHead = null;\n this._changesHead = null;\n this._changesTail = null;\n this._additionsHead = null;\n this._additionsTail = null;\n this._removalsHead = null;\n this._removalsTail = null;\n }\n Object.defineProperty(DefaultKeyValueDiffer.prototype, \"isDirty\", {\n get: /**\n * @return {?}\n */\n function () {\n return this._additionsHead !== null || this._changesHead !== null ||\n this._removalsHead !== null;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.forEachItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._mapHead; record !== null; record = record._next) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.forEachPreviousItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._previousMapHead; record !== null; record = record._nextPrevious) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.forEachChangedItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.forEachAddedItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._additionsHead; record !== null; record = record._nextAdded) {\n fn(record);\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.forEachRemovedItem = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var /** @type {?} */ record;\n for (record = this._removalsHead; record !== null; record = record._nextRemoved) {\n fn(record);\n }\n };\n /**\n * @param {?=} map\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.diff = /**\n * @param {?=} map\n * @return {?}\n */\n function (map) {\n if (!map) {\n map = new Map();\n }\n else if (!(map instanceof Map || isJsObject(map))) {\n throw new Error(\"Error trying to diff '\" + stringify(map) + \"'. Only maps and objects are allowed\");\n }\n return this.check(map) ? this : null;\n };\n /**\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.onDestroy = /**\n * @return {?}\n */\n function () { };\n /**\n * Check the current state of the map vs the previous.\n * The algorithm is optimised for when the keys do no change.\n */\n /**\n * Check the current state of the map vs the previous.\n * The algorithm is optimised for when the keys do no change.\n * @param {?} map\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype.check = /**\n * Check the current state of the map vs the previous.\n * The algorithm is optimised for when the keys do no change.\n * @param {?} map\n * @return {?}\n */\n function (map) {\n var _this = this;\n this._reset();\n var /** @type {?} */ insertBefore = this._mapHead;\n this._appendAfter = null;\n this._forEach(map, function (value, key) {\n if (insertBefore && insertBefore.key === key) {\n _this._maybeAddToChanges(insertBefore, value);\n _this._appendAfter = insertBefore;\n insertBefore = insertBefore._next;\n }\n else {\n var /** @type {?} */ record = _this._getOrCreateRecordForKey(key, value);\n insertBefore = _this._insertBeforeOrAppend(insertBefore, record);\n }\n });\n // Items remaining at the end of the list have been deleted\n if (insertBefore) {\n if (insertBefore._prev) {\n insertBefore._prev._next = null;\n }\n this._removalsHead = insertBefore;\n for (var /** @type {?} */ record = insertBefore; record !== null; record = record._nextRemoved) {\n if (record === this._mapHead) {\n this._mapHead = null;\n }\n this._records.delete(record.key);\n record._nextRemoved = record._next;\n record.previousValue = record.currentValue;\n record.currentValue = null;\n record._prev = null;\n record._next = null;\n }\n }\n // Make sure tails have no next records from previous runs\n if (this._changesTail)\n this._changesTail._nextChanged = null;\n if (this._additionsTail)\n this._additionsTail._nextAdded = null;\n return this.isDirty;\n };\n /**\n * Inserts a record before `before` or append at the end of the list when `before` is null.\n *\n * Notes:\n * - This method appends at `this._appendAfter`,\n * - This method updates `this._appendAfter`,\n * - The return value is the new value for the insertion pointer.\n * @param {?} before\n * @param {?} record\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype._insertBeforeOrAppend = /**\n * Inserts a record before `before` or append at the end of the list when `before` is null.\n *\n * Notes:\n * - This method appends at `this._appendAfter`,\n * - This method updates `this._appendAfter`,\n * - The return value is the new value for the insertion pointer.\n * @param {?} before\n * @param {?} record\n * @return {?}\n */\n function (before, record) {\n if (before) {\n var /** @type {?} */ prev = before._prev;\n record._next = before;\n record._prev = prev;\n before._prev = record;\n if (prev) {\n prev._next = record;\n }\n if (before === this._mapHead) {\n this._mapHead = record;\n }\n this._appendAfter = before;\n return before;\n }\n if (this._appendAfter) {\n this._appendAfter._next = record;\n record._prev = this._appendAfter;\n }\n else {\n this._mapHead = record;\n }\n this._appendAfter = record;\n return null;\n };\n /**\n * @param {?} key\n * @param {?} value\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype._getOrCreateRecordForKey = /**\n * @param {?} key\n * @param {?} value\n * @return {?}\n */\n function (key, value) {\n if (this._records.has(key)) {\n var /** @type {?} */ record_1 = /** @type {?} */ ((this._records.get(key)));\n this._maybeAddToChanges(record_1, value);\n var /** @type {?} */ prev = record_1._prev;\n var /** @type {?} */ next = record_1._next;\n if (prev) {\n prev._next = next;\n }\n if (next) {\n next._prev = prev;\n }\n record_1._next = null;\n record_1._prev = null;\n return record_1;\n }\n var /** @type {?} */ record = new KeyValueChangeRecord_(key);\n this._records.set(key, record);\n record.currentValue = value;\n this._addToAdditions(record);\n return record;\n };\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype._reset = /**\n * \\@internal\n * @return {?}\n */\n function () {\n if (this.isDirty) {\n var /** @type {?} */ record = void 0;\n // let `_previousMapHead` contain the state of the map before the changes\n this._previousMapHead = this._mapHead;\n for (record = this._previousMapHead; record !== null; record = record._next) {\n record._nextPrevious = record._next;\n }\n // Update `record.previousValue` with the value of the item before the changes\n // We need to update all changed items (that's those which have been added and changed)\n for (record = this._changesHead; record !== null; record = record._nextChanged) {\n record.previousValue = record.currentValue;\n }\n for (record = this._additionsHead; record != null; record = record._nextAdded) {\n record.previousValue = record.currentValue;\n }\n this._changesHead = this._changesTail = null;\n this._additionsHead = this._additionsTail = null;\n this._removalsHead = null;\n }\n };\n /**\n * @param {?} record\n * @param {?} newValue\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype._maybeAddToChanges = /**\n * @param {?} record\n * @param {?} newValue\n * @return {?}\n */\n function (record, newValue) {\n if (!looseIdentical(newValue, record.currentValue)) {\n record.previousValue = record.currentValue;\n record.currentValue = newValue;\n this._addToChanges(record);\n }\n };\n /**\n * @param {?} record\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype._addToAdditions = /**\n * @param {?} record\n * @return {?}\n */\n function (record) {\n if (this._additionsHead === null) {\n this._additionsHead = this._additionsTail = record;\n }\n else {\n /** @type {?} */ ((this._additionsTail))._nextAdded = record;\n this._additionsTail = record;\n }\n };\n /**\n * @param {?} record\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype._addToChanges = /**\n * @param {?} record\n * @return {?}\n */\n function (record) {\n if (this._changesHead === null) {\n this._changesHead = this._changesTail = record;\n }\n else {\n /** @type {?} */ ((this._changesTail))._nextChanged = record;\n this._changesTail = record;\n }\n };\n /**\n * \\@internal\n * @template K, V\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\n DefaultKeyValueDiffer.prototype._forEach = /**\n * \\@internal\n * @template K, V\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\n function (obj, fn) {\n if (obj instanceof Map) {\n obj.forEach(fn);\n }\n else {\n Object.keys(obj).forEach(function (k) { return fn(obj[k], k); });\n }\n };\n return DefaultKeyValueDiffer;\n}());\n/**\n * \\@stable\n */\nvar KeyValueChangeRecord_ = /** @class */ (function () {\n function KeyValueChangeRecord_(key) {\n this.key = key;\n this.previousValue = null;\n this.currentValue = null;\n /**\n * \\@internal\n */\n this._nextPrevious = null;\n /**\n * \\@internal\n */\n this._next = null;\n /**\n * \\@internal\n */\n this._prev = null;\n /**\n * \\@internal\n */\n this._nextAdded = null;\n /**\n * \\@internal\n */\n this._nextRemoved = null;\n /**\n * \\@internal\n */\n this._nextChanged = null;\n }\n return KeyValueChangeRecord_;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A strategy for tracking changes over time to an iterable. Used by {\\@link NgForOf} to\n * respond to changes in an iterable by effecting equivalent changes in the DOM.\n *\n * \\@stable\n * @record\n */\n\n/**\n * An object describing the changes in the `Iterable` collection since last time\n * `IterableDiffer#diff()` was invoked.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Record representing the item change information.\n *\n * \\@stable\n * @record\n */\n\n/**\n * @deprecated v4.0.0 - Use IterableChangeRecord instead.\n * @record\n */\n\n/**\n * An optional function passed into {\\@link NgForOf} that defines how to track\n * items in an iterable (e.g. fby index or id)\n *\n * \\@stable\n * @record\n */\n\n/**\n * Provides a factory for {\\@link IterableDiffer}.\n *\n * \\@stable\n * @record\n */\n\n/**\n * A repository of different iterable diffing strategies used by NgFor, NgClass, and others.\n * \\@stable\n */\nvar IterableDiffers = /** @class */ (function () {\n function IterableDiffers(factories) {\n this.factories = factories;\n }\n /**\n * @param {?} factories\n * @param {?=} parent\n * @return {?}\n */\n IterableDiffers.create = /**\n * @param {?} factories\n * @param {?=} parent\n * @return {?}\n */\n function (factories, parent) {\n if (parent != null) {\n var /** @type {?} */ copied = parent.factories.slice();\n factories = factories.concat(copied);\n return new IterableDiffers(factories);\n }\n else {\n return new IterableDiffers(factories);\n }\n };\n /**\n * Takes an array of {@link IterableDifferFactory} and returns a provider used to extend the\n * inherited {@link IterableDiffers} instance with the provided factories and return a new\n * {@link IterableDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {@link IterableDiffer} available.\n *\n * ### Example\n *\n * ```\n * @Component({\n * viewProviders: [\n * IterableDiffers.extend([new ImmutableListDiffer()])\n * ]\n * })\n * ```\n */\n /**\n * Takes an array of {\\@link IterableDifferFactory} and returns a provider used to extend the\n * inherited {\\@link IterableDiffers} instance with the provided factories and return a new\n * {\\@link IterableDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {\\@link IterableDiffer} available.\n *\n * ### Example\n *\n * ```\n * \\@Component({\n * viewProviders: [\n * IterableDiffers.extend([new ImmutableListDiffer()])\n * ]\n * })\n * ```\n * @param {?} factories\n * @return {?}\n */\n IterableDiffers.extend = /**\n * Takes an array of {\\@link IterableDifferFactory} and returns a provider used to extend the\n * inherited {\\@link IterableDiffers} instance with the provided factories and return a new\n * {\\@link IterableDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {\\@link IterableDiffer} available.\n *\n * ### Example\n *\n * ```\n * \\@Component({\n * viewProviders: [\n * IterableDiffers.extend([new ImmutableListDiffer()])\n * ]\n * })\n * ```\n * @param {?} factories\n * @return {?}\n */\n function (factories) {\n return {\n provide: IterableDiffers,\n useFactory: function (parent) {\n if (!parent) {\n // Typically would occur when calling IterableDiffers.extend inside of dependencies passed\n // to\n // bootstrap(), which would override default pipes instead of extending them.\n throw new Error('Cannot extend IterableDiffers without a parent injector');\n }\n return IterableDiffers.create(factories, parent);\n },\n // Dependency technically isn't optional, but we can provide a better error message this way.\n deps: [[IterableDiffers, new SkipSelf(), new Optional()]]\n };\n };\n /**\n * @param {?} iterable\n * @return {?}\n */\n IterableDiffers.prototype.find = /**\n * @param {?} iterable\n * @return {?}\n */\n function (iterable) {\n var /** @type {?} */ factory = this.factories.find(function (f) { return f.supports(iterable); });\n if (factory != null) {\n return factory;\n }\n else {\n throw new Error(\"Cannot find a differ supporting object '\" + iterable + \"' of type '\" + getTypeNameForDebugging(iterable) + \"'\");\n }\n };\n return IterableDiffers;\n}());\n/**\n * @param {?} type\n * @return {?}\n */\nfunction getTypeNameForDebugging(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A differ that tracks changes made to an object over time.\n *\n * \\@stable\n * @record\n */\n\n/**\n * An object describing the changes in the `Map` or `{[k:string]: string}` since last time\n * `KeyValueDiffer#diff()` was invoked.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Record representing the item change information.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Provides a factory for {\\@link KeyValueDiffer}.\n *\n * \\@stable\n * @record\n */\n\n/**\n * A repository of different Map diffing strategies used by NgClass, NgStyle, and others.\n * \\@stable\n */\nvar KeyValueDiffers = /** @class */ (function () {\n function KeyValueDiffers(factories) {\n this.factories = factories;\n }\n /**\n * @template S\n * @param {?} factories\n * @param {?=} parent\n * @return {?}\n */\n KeyValueDiffers.create = /**\n * @template S\n * @param {?} factories\n * @param {?=} parent\n * @return {?}\n */\n function (factories, parent) {\n if (parent) {\n var /** @type {?} */ copied = parent.factories.slice();\n factories = factories.concat(copied);\n }\n return new KeyValueDiffers(factories);\n };\n /**\n * Takes an array of {@link KeyValueDifferFactory} and returns a provider used to extend the\n * inherited {@link KeyValueDiffers} instance with the provided factories and return a new\n * {@link KeyValueDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {@link KeyValueDiffer} available.\n *\n * ### Example\n *\n * ```\n * @Component({\n * viewProviders: [\n * KeyValueDiffers.extend([new ImmutableMapDiffer()])\n * ]\n * })\n * ```\n */\n /**\n * Takes an array of {\\@link KeyValueDifferFactory} and returns a provider used to extend the\n * inherited {\\@link KeyValueDiffers} instance with the provided factories and return a new\n * {\\@link KeyValueDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {\\@link KeyValueDiffer} available.\n *\n * ### Example\n *\n * ```\n * \\@Component({\n * viewProviders: [\n * KeyValueDiffers.extend([new ImmutableMapDiffer()])\n * ]\n * })\n * ```\n * @template S\n * @param {?} factories\n * @return {?}\n */\n KeyValueDiffers.extend = /**\n * Takes an array of {\\@link KeyValueDifferFactory} and returns a provider used to extend the\n * inherited {\\@link KeyValueDiffers} instance with the provided factories and return a new\n * {\\@link KeyValueDiffers} instance.\n *\n * The following example shows how to extend an existing list of factories,\n * which will only be applied to the injector for this component and its children.\n * This step is all that's required to make a new {\\@link KeyValueDiffer} available.\n *\n * ### Example\n *\n * ```\n * \\@Component({\n * viewProviders: [\n * KeyValueDiffers.extend([new ImmutableMapDiffer()])\n * ]\n * })\n * ```\n * @template S\n * @param {?} factories\n * @return {?}\n */\n function (factories) {\n return {\n provide: KeyValueDiffers,\n useFactory: function (parent) {\n if (!parent) {\n // Typically would occur when calling KeyValueDiffers.extend inside of dependencies passed\n // to bootstrap(), which would override default pipes instead of extending them.\n throw new Error('Cannot extend KeyValueDiffers without a parent injector');\n }\n return KeyValueDiffers.create(factories, parent);\n },\n // Dependency technically isn't optional, but we can provide a better error message this way.\n deps: [[KeyValueDiffers, new SkipSelf(), new Optional()]]\n };\n };\n /**\n * @param {?} kv\n * @return {?}\n */\n KeyValueDiffers.prototype.find = /**\n * @param {?} kv\n * @return {?}\n */\n function (kv) {\n var /** @type {?} */ factory = this.factories.find(function (f) { return f.supports(kv); });\n if (factory) {\n return factory;\n }\n throw new Error(\"Cannot find a differ supporting object '\" + kv + \"'\");\n };\n return KeyValueDiffers;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Structural diffing for `Object`s and `Map`s.\n */\nvar keyValDiff = [new DefaultKeyValueDifferFactory()];\n/**\n * Structural diffing for `Iterable` types such as `Array`s.\n */\nvar iterableDiff = [new DefaultIterableDifferFactory()];\nvar defaultIterableDiffers = new IterableDiffers(iterableDiff);\nvar defaultKeyValueDiffers = new KeyValueDiffers(keyValDiff);\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar _CORE_PLATFORM_PROVIDERS = [\n // Set a default platform name for platforms that don't set it explicitly.\n { provide: PLATFORM_ID, useValue: 'unknown' },\n { provide: PlatformRef, deps: [Injector] },\n { provide: TestabilityRegistry, deps: [] },\n { provide: Console, deps: [] },\n];\n/**\n * This platform has to be included in any other platform\n *\n * \\@experimental\n */\nvar platformCore = createPlatformFactory(null, 'core', _CORE_PLATFORM_PROVIDERS);\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provide this token to set the locale of your application.\n * It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,\n * DecimalPipe and PercentPipe) and by ICU expressions.\n *\n * See the {\\@linkDocs guide/i18n#setting-up-locale i18n guide} for more information.\n *\n * ### Example\n *\n * ```typescript\n * import { LOCALE_ID } from '\\@angular/core';\n * import { platformBrowserDynamic } from '\\@angular/platform-browser-dynamic';\n * import { AppModule } from './app/app.module';\n *\n * platformBrowserDynamic().bootstrapModule(AppModule, {\n * providers: [{provide: LOCALE_ID, useValue: 'en-US' }]\n * });\n * ```\n *\n * \\@experimental i18n support is experimental.\n */\nvar LOCALE_ID = new InjectionToken('LocaleId');\n/**\n * Use this token at bootstrap to provide the content of your translation file (`xtb`,\n * `xlf` or `xlf2`) when you want to translate your application in another language.\n *\n * See the {\\@linkDocs guide/i18n#merge i18n guide} for more information.\n *\n * ### Example\n *\n * ```typescript\n * import { TRANSLATIONS } from '\\@angular/core';\n * import { platformBrowserDynamic } from '\\@angular/platform-browser-dynamic';\n * import { AppModule } from './app/app.module';\n *\n * // content of your translation file\n * const translations = '....';\n *\n * platformBrowserDynamic().bootstrapModule(AppModule, {\n * providers: [{provide: TRANSLATIONS, useValue: translations }]\n * });\n * ```\n *\n * \\@experimental i18n support is experimental.\n */\nvar TRANSLATIONS = new InjectionToken('Translations');\n/**\n * Provide this token at bootstrap to set the format of your {\\@link TRANSLATIONS}: `xtb`,\n * `xlf` or `xlf2`.\n *\n * See the {\\@linkDocs guide/i18n#merge i18n guide} for more information.\n *\n * ### Example\n *\n * ```typescript\n * import { TRANSLATIONS_FORMAT } from '\\@angular/core';\n * import { platformBrowserDynamic } from '\\@angular/platform-browser-dynamic';\n * import { AppModule } from './app/app.module';\n *\n * platformBrowserDynamic().bootstrapModule(AppModule, {\n * providers: [{provide: TRANSLATIONS_FORMAT, useValue: 'xlf' }]\n * });\n * ```\n *\n * \\@experimental i18n support is experimental.\n */\nvar TRANSLATIONS_FORMAT = new InjectionToken('TranslationsFormat');\n/** @enum {number} */\nvar MissingTranslationStrategy = {\n Error: 0,\n Warning: 1,\n Ignore: 2,\n};\nMissingTranslationStrategy[MissingTranslationStrategy.Error] = \"Error\";\nMissingTranslationStrategy[MissingTranslationStrategy.Warning] = \"Warning\";\nMissingTranslationStrategy[MissingTranslationStrategy.Ignore] = \"Ignore\";\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @return {?}\n */\nfunction _iterableDiffersFactory() {\n return defaultIterableDiffers;\n}\n/**\n * @return {?}\n */\nfunction _keyValueDiffersFactory() {\n return defaultKeyValueDiffers;\n}\n/**\n * @param {?=} locale\n * @return {?}\n */\nfunction _localeFactory(locale) {\n return locale || 'en-US';\n}\n/**\n * This module includes the providers of \\@angular/core that are needed\n * to bootstrap components via `ApplicationRef`.\n *\n * \\@experimental\n */\nvar ApplicationModule = /** @class */ (function () {\n // Inject ApplicationRef to make it eager...\n function ApplicationModule(appRef) {\n }\n ApplicationModule.decorators = [\n { type: NgModule, args: [{\n providers: [\n ApplicationRef,\n ApplicationInitStatus,\n Compiler,\n APP_ID_RANDOM_PROVIDER,\n { provide: IterableDiffers, useFactory: _iterableDiffersFactory },\n { provide: KeyValueDiffers, useFactory: _keyValueDiffersFactory },\n {\n provide: LOCALE_ID,\n useFactory: _localeFactory,\n deps: [[new Inject(LOCALE_ID), new Optional(), new SkipSelf()]]\n },\n ]\n },] },\n ];\n /** @nocollapse */\n ApplicationModule.ctorParameters = function () { return [\n { type: ApplicationRef, },\n ]; };\n return ApplicationModule;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @enum {number} */\nvar SecurityContext = {\n NONE: 0,\n HTML: 1,\n STYLE: 2,\n SCRIPT: 3,\n URL: 4,\n RESOURCE_URL: 5,\n};\nSecurityContext[SecurityContext.NONE] = \"NONE\";\nSecurityContext[SecurityContext.HTML] = \"HTML\";\nSecurityContext[SecurityContext.STYLE] = \"STYLE\";\nSecurityContext[SecurityContext.SCRIPT] = \"SCRIPT\";\nSecurityContext[SecurityContext.URL] = \"URL\";\nSecurityContext[SecurityContext.RESOURCE_URL] = \"RESOURCE_URL\";\n/**\n * Sanitizer is used by the views to sanitize potentially dangerous values.\n *\n * \\@stable\n * @abstract\n */\nvar Sanitizer = /** @class */ (function () {\n function Sanitizer() {\n }\n return Sanitizer;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Factory for ViewDefinitions/NgModuleDefinitions.\n * We use a function so we can reexeute it in case an error happens and use the given logger\n * function to log the error from the definition of the node, which is shown in all browser\n * logs.\n * @record\n */\n\n/**\n * Function to call console.error at the right source location. This is an indirection\n * via another function as browser will log the location that actually called\n * `console.error`.\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * A node definition in the view.\n *\n * Note: We use one type for all nodes so that loops that loop over all nodes\n * of a ViewDefinition stay monomorphic!\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * View instance data.\n * Attention: Adding fields to this is performance sensitive!\n * @record\n */\n\n/**\n * @param {?} view\n * @param {?} priorInitState\n * @param {?} newInitState\n * @return {?}\n */\nfunction shiftInitState(view, priorInitState, newInitState) {\n // Only update the InitState if we are currently in the prior state.\n // For example, only move into CallingInit if we are in BeforeInit. Only\n // move into CallingContentInit if we are in CallingInit. Normally this will\n // always be true because of how checkCycle is called in checkAndUpdateView.\n // However, if checkAndUpdateView is called recursively or if an exception is\n // thrown while checkAndUpdateView is running, checkAndUpdateView starts over\n // from the beginning. This ensures the state is monotonically increasing,\n // terminating in the AfterInit state, which ensures the Init methods are called\n // at least once and only once.\n var /** @type {?} */ state = view.state;\n var /** @type {?} */ initState = state & 1792;\n if (initState === priorInitState) {\n view.state = (state & ~1792 /* InitState_Mask */) | newInitState;\n view.initIndex = -1;\n return true;\n }\n return initState === newInitState;\n}\n/**\n * @param {?} view\n * @param {?} initState\n * @param {?} index\n * @return {?}\n */\nfunction shouldCallLifecycleInitHook(view, initState, index) {\n if ((view.state & 1792 /* InitState_Mask */) === initState && view.initIndex <= index) {\n view.initIndex = index + 1;\n return true;\n }\n return false;\n}\n/**\n * @record\n */\n\n/**\n * Data for an instantiated NodeType.Text.\n *\n * Attention: Adding fields to this is performance sensitive!\n * @record\n */\n\n/**\n * Accessor for view.nodes, enforcing that every usage site stays monomorphic.\n * @param {?} view\n * @param {?} index\n * @return {?}\n */\nfunction asTextData(view, index) {\n return /** @type {?} */ (view.nodes[index]);\n}\n/**\n * Data for an instantiated NodeType.Element.\n *\n * Attention: Adding fields to this is performance sensitive!\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * Accessor for view.nodes, enforcing that every usage site stays monomorphic.\n * @param {?} view\n * @param {?} index\n * @return {?}\n */\nfunction asElementData(view, index) {\n return /** @type {?} */ (view.nodes[index]);\n}\n/**\n * Data for an instantiated NodeType.Provider.\n *\n * Attention: Adding fields to this is performance sensitive!\n * @record\n */\n\n/**\n * Accessor for view.nodes, enforcing that every usage site stays monomorphic.\n * @param {?} view\n * @param {?} index\n * @return {?}\n */\nfunction asProviderData(view, index) {\n return /** @type {?} */ (view.nodes[index]);\n}\n/**\n * Data for an instantiated NodeType.PureExpression.\n *\n * Attention: Adding fields to this is performance sensitive!\n * @record\n */\n\n/**\n * Accessor for view.nodes, enforcing that every usage site stays monomorphic.\n * @param {?} view\n * @param {?} index\n * @return {?}\n */\nfunction asPureExpressionData(view, index) {\n return /** @type {?} */ (view.nodes[index]);\n}\n/**\n * Accessor for view.nodes, enforcing that every usage site stays monomorphic.\n * @param {?} view\n * @param {?} index\n * @return {?}\n */\nfunction asQueryList(view, index) {\n return /** @type {?} */ (view.nodes[index]);\n}\n/**\n * @record\n */\n\n/**\n * @abstract\n */\nvar DebugContext = /** @class */ (function () {\n function DebugContext() {\n }\n return DebugContext;\n}());\n/**\n * @record\n */\n\n/**\n * This object is used to prevent cycles in the source files and to have a place where\n * debug mode can hook it. It is lazily filled when `isDevMode` is known.\n */\nvar Services = {\n setCurrentNode: /** @type {?} */ ((undefined)),\n createRootView: /** @type {?} */ ((undefined)),\n createEmbeddedView: /** @type {?} */ ((undefined)),\n createComponentView: /** @type {?} */ ((undefined)),\n createNgModuleRef: /** @type {?} */ ((undefined)),\n overrideProvider: /** @type {?} */ ((undefined)),\n overrideComponentView: /** @type {?} */ ((undefined)),\n clearOverrides: /** @type {?} */ ((undefined)),\n checkAndUpdateView: /** @type {?} */ ((undefined)),\n checkNoChangesView: /** @type {?} */ ((undefined)),\n destroyView: /** @type {?} */ ((undefined)),\n resolveDep: /** @type {?} */ ((undefined)),\n createDebugContext: /** @type {?} */ ((undefined)),\n handleEvent: /** @type {?} */ ((undefined)),\n updateDirectives: /** @type {?} */ ((undefined)),\n updateRenderer: /** @type {?} */ ((undefined)),\n dirtyParentQueries: /** @type {?} */ ((undefined)),\n};\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} context\n * @param {?} oldValue\n * @param {?} currValue\n * @param {?} isFirstCheck\n * @return {?}\n */\nfunction expressionChangedAfterItHasBeenCheckedError(context, oldValue, currValue, isFirstCheck) {\n var /** @type {?} */ msg = \"ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '\" + oldValue + \"'. Current value: '\" + currValue + \"'.\";\n if (isFirstCheck) {\n msg +=\n \" It seems like the view has been created after its parent and its children have been dirty checked.\" +\n \" Has it been created in a change detection hook ?\";\n }\n return viewDebugError(msg, context);\n}\n/**\n * @param {?} err\n * @param {?} context\n * @return {?}\n */\nfunction viewWrappedDebugError(err, context) {\n if (!(err instanceof Error)) {\n // errors that are not Error instances don't have a stack,\n // so it is ok to wrap them into a new Error object...\n err = new Error(err.toString());\n }\n _addDebugContext(err, context);\n return err;\n}\n/**\n * @param {?} msg\n * @param {?} context\n * @return {?}\n */\nfunction viewDebugError(msg, context) {\n var /** @type {?} */ err = new Error(msg);\n _addDebugContext(err, context);\n return err;\n}\n/**\n * @param {?} err\n * @param {?} context\n * @return {?}\n */\nfunction _addDebugContext(err, context) {\n (/** @type {?} */ (err))[ERROR_DEBUG_CONTEXT] = context;\n (/** @type {?} */ (err))[ERROR_LOGGER] = context.logError.bind(context);\n}\n/**\n * @param {?} err\n * @return {?}\n */\nfunction isViewDebugError(err) {\n return !!getDebugContext(err);\n}\n/**\n * @param {?} action\n * @return {?}\n */\nfunction viewDestroyedError(action) {\n return new Error(\"ViewDestroyedError: Attempt to use a destroyed view: \" + action);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar NOOP = function () { };\nvar _tokenKeyCache = new Map();\n/**\n * @param {?} token\n * @return {?}\n */\nfunction tokenKey(token) {\n var /** @type {?} */ key = _tokenKeyCache.get(token);\n if (!key) {\n key = stringify(token) + '_' + _tokenKeyCache.size;\n _tokenKeyCache.set(token, key);\n }\n return key;\n}\n/**\n * @param {?} view\n * @param {?} nodeIdx\n * @param {?} bindingIdx\n * @param {?} value\n * @return {?}\n */\nfunction unwrapValue(view, nodeIdx, bindingIdx, value) {\n if (value instanceof WrappedValue) {\n value = value.wrapped;\n var /** @type {?} */ globalBindingIdx = view.def.nodes[nodeIdx].bindingIndex + bindingIdx;\n var /** @type {?} */ oldValue = view.oldValues[globalBindingIdx];\n if (oldValue instanceof WrappedValue) {\n oldValue = oldValue.wrapped;\n }\n view.oldValues[globalBindingIdx] = new WrappedValue(oldValue);\n }\n return value;\n}\nvar UNDEFINED_RENDERER_TYPE_ID = '$$undefined';\nvar EMPTY_RENDERER_TYPE_ID = '$$empty';\n/**\n * @param {?} values\n * @return {?}\n */\nfunction createRendererType2(values) {\n return {\n id: UNDEFINED_RENDERER_TYPE_ID,\n styles: values.styles,\n encapsulation: values.encapsulation,\n data: values.data\n };\n}\nvar _renderCompCount = 0;\n/**\n * @param {?=} type\n * @return {?}\n */\nfunction resolveRendererType2(type) {\n if (type && type.id === UNDEFINED_RENDERER_TYPE_ID) {\n // first time we see this RendererType2. Initialize it...\n var /** @type {?} */ isFilled = ((type.encapsulation != null && type.encapsulation !== ViewEncapsulation.None) ||\n type.styles.length || Object.keys(type.data).length);\n if (isFilled) {\n type.id = \"c\" + _renderCompCount++;\n }\n else {\n type.id = EMPTY_RENDERER_TYPE_ID;\n }\n }\n if (type && type.id === EMPTY_RENDERER_TYPE_ID) {\n type = null;\n }\n return type || null;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} bindingIdx\n * @param {?} value\n * @return {?}\n */\nfunction checkBinding(view, def, bindingIdx, value) {\n var /** @type {?} */ oldValues = view.oldValues;\n if ((view.state & 2 /* FirstCheck */) ||\n !looseIdentical(oldValues[def.bindingIndex + bindingIdx], value)) {\n return true;\n }\n return false;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} bindingIdx\n * @param {?} value\n * @return {?}\n */\nfunction checkAndUpdateBinding(view, def, bindingIdx, value) {\n if (checkBinding(view, def, bindingIdx, value)) {\n view.oldValues[def.bindingIndex + bindingIdx] = value;\n return true;\n }\n return false;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} bindingIdx\n * @param {?} value\n * @return {?}\n */\nfunction checkBindingNoChanges(view, def, bindingIdx, value) {\n var /** @type {?} */ oldValue = view.oldValues[def.bindingIndex + bindingIdx];\n if ((view.state & 1 /* BeforeFirstCheck */) || !devModeEqual(oldValue, value)) {\n throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, def.nodeIndex), oldValue, value, (view.state & 1 /* BeforeFirstCheck */) !== 0);\n }\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction markParentViewsForCheck(view) {\n var /** @type {?} */ currView = view;\n while (currView) {\n if (currView.def.flags & 2 /* OnPush */) {\n currView.state |= 8 /* ChecksEnabled */;\n }\n currView = currView.viewContainerParent || currView.parent;\n }\n}\n/**\n * @param {?} view\n * @param {?} endView\n * @return {?}\n */\nfunction markParentViewsForCheckProjectedViews(view, endView) {\n var /** @type {?} */ currView = view;\n while (currView && currView !== endView) {\n currView.state |= 64 /* CheckProjectedViews */;\n currView = currView.viewContainerParent || currView.parent;\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeIndex\n * @param {?} eventName\n * @param {?} event\n * @return {?}\n */\nfunction dispatchEvent(view, nodeIndex, eventName, event) {\n try {\n var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex];\n var /** @type {?} */ startView = nodeDef.flags & 33554432 /* ComponentView */ ?\n asElementData(view, nodeIndex).componentView :\n view;\n markParentViewsForCheck(startView);\n return Services.handleEvent(view, nodeIndex, eventName, event);\n }\n catch (/** @type {?} */ e) {\n // Attention: Don't rethrow, as it would cancel Observable subscriptions!\n view.root.errorHandler.handleError(e);\n }\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction declaredViewContainer(view) {\n if (view.parent) {\n var /** @type {?} */ parentView = view.parent;\n return asElementData(parentView, /** @type {?} */ ((view.parentNodeDef)).nodeIndex);\n }\n return null;\n}\n/**\n * for component views, this is the host element.\n * for embedded views, this is the index of the parent node\n * that contains the view container.\n * @param {?} view\n * @return {?}\n */\nfunction viewParentEl(view) {\n var /** @type {?} */ parentView = view.parent;\n if (parentView) {\n return /** @type {?} */ ((view.parentNodeDef)).parent;\n }\n else {\n return null;\n }\n}\n/**\n * @param {?} view\n * @param {?} def\n * @return {?}\n */\nfunction renderNode(view, def) {\n switch (def.flags & 201347067 /* Types */) {\n case 1 /* TypeElement */:\n return asElementData(view, def.nodeIndex).renderElement;\n case 2 /* TypeText */:\n return asTextData(view, def.nodeIndex).renderText;\n }\n}\n/**\n * @param {?} target\n * @param {?} name\n * @return {?}\n */\nfunction elementEventFullName(target, name) {\n return target ? target + \":\" + name : name;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction isComponentView(view) {\n return !!view.parent && !!(/** @type {?} */ ((view.parentNodeDef)).flags & 32768 /* Component */);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction isEmbeddedView(view) {\n return !!view.parent && !(/** @type {?} */ ((view.parentNodeDef)).flags & 32768 /* Component */);\n}\n/**\n * @param {?} queryId\n * @return {?}\n */\nfunction filterQueryId(queryId) {\n return 1 << (queryId % 32);\n}\n/**\n * @param {?} matchedQueriesDsl\n * @return {?}\n */\nfunction splitMatchedQueriesDsl(matchedQueriesDsl) {\n var /** @type {?} */ matchedQueries = {};\n var /** @type {?} */ matchedQueryIds = 0;\n var /** @type {?} */ references = {};\n if (matchedQueriesDsl) {\n matchedQueriesDsl.forEach(function (_a) {\n var queryId = _a[0], valueType = _a[1];\n if (typeof queryId === 'number') {\n matchedQueries[queryId] = valueType;\n matchedQueryIds |= filterQueryId(queryId);\n }\n else {\n references[queryId] = valueType;\n }\n });\n }\n return { matchedQueries: matchedQueries, references: references, matchedQueryIds: matchedQueryIds };\n}\n/**\n * @param {?} deps\n * @param {?=} sourceName\n * @return {?}\n */\nfunction splitDepsDsl(deps, sourceName) {\n return deps.map(function (value) {\n var /** @type {?} */ token;\n var /** @type {?} */ flags;\n if (Array.isArray(value)) {\n flags = value[0], token = value[1];\n }\n else {\n flags = 0 /* None */;\n token = value;\n }\n if (token && (typeof token === 'function' || typeof token === 'object') && sourceName) {\n Object.defineProperty(token, SOURCE, { value: sourceName, configurable: true });\n }\n return { flags: flags, token: token, tokenKey: tokenKey(token) };\n });\n}\n/**\n * @param {?} view\n * @param {?} renderHost\n * @param {?} def\n * @return {?}\n */\nfunction getParentRenderElement(view, renderHost, def) {\n var /** @type {?} */ renderParent = def.renderParent;\n if (renderParent) {\n if ((renderParent.flags & 1 /* TypeElement */) === 0 ||\n (renderParent.flags & 33554432 /* ComponentView */) === 0 ||\n (/** @type {?} */ ((renderParent.element)).componentRendererType && /** @type {?} */ ((/** @type {?} */ ((renderParent.element)).componentRendererType)).encapsulation === ViewEncapsulation.Native)) {\n // only children of non components, or children of components with native encapsulation should\n // be attached.\n return asElementData(view, /** @type {?} */ ((def.renderParent)).nodeIndex).renderElement;\n }\n }\n else {\n return renderHost;\n }\n}\nvar DEFINITION_CACHE = new WeakMap();\n/**\n * @template D\n * @param {?} factory\n * @return {?}\n */\nfunction resolveDefinition(factory) {\n var /** @type {?} */ value = /** @type {?} */ (((DEFINITION_CACHE.get(factory))));\n if (!value) {\n value = factory(function () { return NOOP; });\n value.factory = factory;\n DEFINITION_CACHE.set(factory, value);\n }\n return value;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction rootRenderNodes(view) {\n var /** @type {?} */ renderNodes = [];\n visitRootRenderNodes(view, 0 /* Collect */, undefined, undefined, renderNodes);\n return renderNodes;\n}\n/**\n * @param {?} view\n * @param {?} action\n * @param {?} parentNode\n * @param {?} nextSibling\n * @param {?=} target\n * @return {?}\n */\nfunction visitRootRenderNodes(view, action, parentNode, nextSibling, target) {\n // We need to re-compute the parent node in case the nodes have been moved around manually\n if (action === 3 /* RemoveChild */) {\n parentNode = view.renderer.parentNode(renderNode(view, /** @type {?} */ ((view.def.lastRenderRootNode))));\n }\n visitSiblingRenderNodes(view, action, 0, view.def.nodes.length - 1, parentNode, nextSibling, target);\n}\n/**\n * @param {?} view\n * @param {?} action\n * @param {?} startIndex\n * @param {?} endIndex\n * @param {?} parentNode\n * @param {?} nextSibling\n * @param {?=} target\n * @return {?}\n */\nfunction visitSiblingRenderNodes(view, action, startIndex, endIndex, parentNode, nextSibling, target) {\n for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n if (nodeDef.flags & (1 /* TypeElement */ | 2 /* TypeText */ | 8 /* TypeNgContent */)) {\n visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target);\n }\n // jump to next sibling\n i += nodeDef.childCount;\n }\n}\n/**\n * @param {?} view\n * @param {?} ngContentIndex\n * @param {?} action\n * @param {?} parentNode\n * @param {?} nextSibling\n * @param {?=} target\n * @return {?}\n */\nfunction visitProjectedRenderNodes(view, ngContentIndex, action, parentNode, nextSibling, target) {\n var /** @type {?} */ compView = view;\n while (compView && !isComponentView(compView)) {\n compView = compView.parent;\n }\n var /** @type {?} */ hostView = /** @type {?} */ ((compView)).parent;\n var /** @type {?} */ hostElDef = viewParentEl(/** @type {?} */ ((compView)));\n var /** @type {?} */ startIndex = /** @type {?} */ ((hostElDef)).nodeIndex + 1;\n var /** @type {?} */ endIndex = /** @type {?} */ ((hostElDef)).nodeIndex + /** @type {?} */ ((hostElDef)).childCount;\n for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) {\n var /** @type {?} */ nodeDef = /** @type {?} */ ((hostView)).def.nodes[i];\n if (nodeDef.ngContentIndex === ngContentIndex) {\n visitRenderNode(/** @type {?} */ ((hostView)), nodeDef, action, parentNode, nextSibling, target);\n }\n // jump to next sibling\n i += nodeDef.childCount;\n }\n if (!/** @type {?} */ ((hostView)).parent) {\n // a root view\n var /** @type {?} */ projectedNodes = view.root.projectableNodes[ngContentIndex];\n if (projectedNodes) {\n for (var /** @type {?} */ i = 0; i < projectedNodes.length; i++) {\n execRenderNodeAction(view, projectedNodes[i], action, parentNode, nextSibling, target);\n }\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} action\n * @param {?} parentNode\n * @param {?} nextSibling\n * @param {?=} target\n * @return {?}\n */\nfunction visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target) {\n if (nodeDef.flags & 8 /* TypeNgContent */) {\n visitProjectedRenderNodes(view, /** @type {?} */ ((nodeDef.ngContent)).index, action, parentNode, nextSibling, target);\n }\n else {\n var /** @type {?} */ rn = renderNode(view, nodeDef);\n if (action === 3 /* RemoveChild */ && (nodeDef.flags & 33554432 /* ComponentView */) &&\n (nodeDef.bindingFlags & 48 /* CatSyntheticProperty */)) {\n // Note: we might need to do both actions.\n if (nodeDef.bindingFlags & (16 /* SyntheticProperty */)) {\n execRenderNodeAction(view, rn, action, parentNode, nextSibling, target);\n }\n if (nodeDef.bindingFlags & (32 /* SyntheticHostProperty */)) {\n var /** @type {?} */ compView = asElementData(view, nodeDef.nodeIndex).componentView;\n execRenderNodeAction(compView, rn, action, parentNode, nextSibling, target);\n }\n }\n else {\n execRenderNodeAction(view, rn, action, parentNode, nextSibling, target);\n }\n if (nodeDef.flags & 16777216 /* EmbeddedViews */) {\n var /** @type {?} */ embeddedViews = /** @type {?} */ ((asElementData(view, nodeDef.nodeIndex).viewContainer))._embeddedViews;\n for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) {\n visitRootRenderNodes(embeddedViews[k], action, parentNode, nextSibling, target);\n }\n }\n if (nodeDef.flags & 1 /* TypeElement */ && !/** @type {?} */ ((nodeDef.element)).name) {\n visitSiblingRenderNodes(view, action, nodeDef.nodeIndex + 1, nodeDef.nodeIndex + nodeDef.childCount, parentNode, nextSibling, target);\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} renderNode\n * @param {?} action\n * @param {?} parentNode\n * @param {?} nextSibling\n * @param {?=} target\n * @return {?}\n */\nfunction execRenderNodeAction(view, renderNode, action, parentNode, nextSibling, target) {\n var /** @type {?} */ renderer = view.renderer;\n switch (action) {\n case 1 /* AppendChild */:\n renderer.appendChild(parentNode, renderNode);\n break;\n case 2 /* InsertBefore */:\n renderer.insertBefore(parentNode, renderNode, nextSibling);\n break;\n case 3 /* RemoveChild */:\n renderer.removeChild(parentNode, renderNode);\n break;\n case 0 /* Collect */:\n /** @type {?} */ ((target)).push(renderNode);\n break;\n }\n}\nvar NS_PREFIX_RE = /^:([^:]+):(.+)$/;\n/**\n * @param {?} name\n * @return {?}\n */\nfunction splitNamespace(name) {\n if (name[0] === ':') {\n var /** @type {?} */ match = /** @type {?} */ ((name.match(NS_PREFIX_RE)));\n return [match[1], match[2]];\n }\n return ['', name];\n}\n/**\n * @param {?} bindings\n * @return {?}\n */\nfunction calcBindingFlags(bindings) {\n var /** @type {?} */ flags = 0;\n for (var /** @type {?} */ i = 0; i < bindings.length; i++) {\n flags |= bindings[i].flags;\n }\n return flags;\n}\n/**\n * @param {?} valueCount\n * @param {?} constAndInterp\n * @return {?}\n */\nfunction interpolate(valueCount, constAndInterp) {\n var /** @type {?} */ result = '';\n for (var /** @type {?} */ i = 0; i < valueCount * 2; i = i + 2) {\n result = result + constAndInterp[i] + _toStringWithNull(constAndInterp[i + 1]);\n }\n return result + constAndInterp[valueCount * 2];\n}\n/**\n * @param {?} valueCount\n * @param {?} c0\n * @param {?} a1\n * @param {?} c1\n * @param {?=} a2\n * @param {?=} c2\n * @param {?=} a3\n * @param {?=} c3\n * @param {?=} a4\n * @param {?=} c4\n * @param {?=} a5\n * @param {?=} c5\n * @param {?=} a6\n * @param {?=} c6\n * @param {?=} a7\n * @param {?=} c7\n * @param {?=} a8\n * @param {?=} c8\n * @param {?=} a9\n * @param {?=} c9\n * @return {?}\n */\nfunction inlineInterpolate(valueCount, c0, a1, c1, a2, c2, a3, c3, a4, c4, a5, c5, a6, c6, a7, c7, a8, c8, a9, c9) {\n switch (valueCount) {\n case 1:\n return c0 + _toStringWithNull(a1) + c1;\n case 2:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2;\n case 3:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3;\n case 4:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4;\n case 5:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5;\n case 6:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) + c6;\n case 7:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7;\n case 8:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8;\n case 9:\n return c0 + _toStringWithNull(a1) + c1 + _toStringWithNull(a2) + c2 + _toStringWithNull(a3) +\n c3 + _toStringWithNull(a4) + c4 + _toStringWithNull(a5) + c5 + _toStringWithNull(a6) +\n c6 + _toStringWithNull(a7) + c7 + _toStringWithNull(a8) + c8 + _toStringWithNull(a9) + c9;\n default:\n throw new Error(\"Does not support more than 9 expressions\");\n }\n}\n/**\n * @param {?} v\n * @return {?}\n */\nfunction _toStringWithNull(v) {\n return v != null ? v.toString() : '';\n}\nvar EMPTY_ARRAY = [];\nvar EMPTY_MAP = {};\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} flags\n * @param {?} matchedQueriesDsl\n * @param {?} ngContentIndex\n * @param {?} childCount\n * @param {?=} handleEvent\n * @param {?=} templateFactory\n * @return {?}\n */\nfunction anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleEvent, templateFactory) {\n flags |= 1 /* TypeElement */;\n var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds;\n var /** @type {?} */ template = templateFactory ? resolveDefinition(templateFactory) : null;\n return {\n // will bet set by the view definition\n nodeIndex: -1,\n parent: null,\n renderParent: null,\n bindingIndex: -1,\n outputIndex: -1,\n // regular values\n flags: flags,\n checkIndex: -1,\n childFlags: 0,\n directChildFlags: 0,\n childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references, ngContentIndex: ngContentIndex, childCount: childCount,\n bindings: [],\n bindingFlags: 0,\n outputs: [],\n element: {\n ns: null,\n name: null,\n attrs: null, template: template,\n componentProvider: null,\n componentView: null,\n componentRendererType: null,\n publicProviders: null,\n allProviders: null,\n handleEvent: handleEvent || NOOP\n },\n provider: null,\n text: null,\n query: null,\n ngContent: null\n };\n}\n/**\n * @param {?} checkIndex\n * @param {?} flags\n * @param {?} matchedQueriesDsl\n * @param {?} ngContentIndex\n * @param {?} childCount\n * @param {?} namespaceAndName\n * @param {?=} fixedAttrs\n * @param {?=} bindings\n * @param {?=} outputs\n * @param {?=} handleEvent\n * @param {?=} componentView\n * @param {?=} componentRendererType\n * @return {?}\n */\nfunction elementDef(checkIndex, flags, matchedQueriesDsl, ngContentIndex, childCount, namespaceAndName, fixedAttrs, bindings, outputs, handleEvent, componentView, componentRendererType) {\n if (fixedAttrs === void 0) { fixedAttrs = []; }\n if (!handleEvent) {\n handleEvent = NOOP;\n }\n var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds;\n var /** @type {?} */ ns = /** @type {?} */ ((null));\n var /** @type {?} */ name = /** @type {?} */ ((null));\n if (namespaceAndName) {\n _b = splitNamespace(namespaceAndName), ns = _b[0], name = _b[1];\n }\n bindings = bindings || [];\n var /** @type {?} */ bindingDefs = new Array(bindings.length);\n for (var /** @type {?} */ i = 0; i < bindings.length; i++) {\n var _c = bindings[i], bindingFlags = _c[0], namespaceAndName_1 = _c[1], suffixOrSecurityContext = _c[2];\n var _d = splitNamespace(namespaceAndName_1), ns_1 = _d[0], name_1 = _d[1];\n var /** @type {?} */ securityContext = /** @type {?} */ ((undefined));\n var /** @type {?} */ suffix = /** @type {?} */ ((undefined));\n switch (bindingFlags & 15 /* Types */) {\n case 4 /* TypeElementStyle */:\n suffix = /** @type {?} */ (suffixOrSecurityContext);\n break;\n case 1 /* TypeElementAttribute */:\n case 8 /* TypeProperty */:\n securityContext = /** @type {?} */ (suffixOrSecurityContext);\n break;\n }\n bindingDefs[i] =\n { flags: bindingFlags, ns: ns_1, name: name_1, nonMinifiedName: name_1, securityContext: securityContext, suffix: suffix };\n }\n outputs = outputs || [];\n var /** @type {?} */ outputDefs = new Array(outputs.length);\n for (var /** @type {?} */ i = 0; i < outputs.length; i++) {\n var _e = outputs[i], target = _e[0], eventName = _e[1];\n outputDefs[i] = {\n type: 0 /* ElementOutput */,\n target: /** @type {?} */ (target), eventName: eventName,\n propName: null\n };\n }\n fixedAttrs = fixedAttrs || [];\n var /** @type {?} */ attrs = /** @type {?} */ (fixedAttrs.map(function (_a) {\n var namespaceAndName = _a[0], value = _a[1];\n var _b = splitNamespace(namespaceAndName), ns = _b[0], name = _b[1];\n return [ns, name, value];\n }));\n componentRendererType = resolveRendererType2(componentRendererType);\n if (componentView) {\n flags |= 33554432 /* ComponentView */;\n }\n flags |= 1 /* TypeElement */;\n return {\n // will bet set by the view definition\n nodeIndex: -1,\n parent: null,\n renderParent: null,\n bindingIndex: -1,\n outputIndex: -1,\n // regular values\n checkIndex: checkIndex,\n flags: flags,\n childFlags: 0,\n directChildFlags: 0,\n childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references, ngContentIndex: ngContentIndex, childCount: childCount,\n bindings: bindingDefs,\n bindingFlags: calcBindingFlags(bindingDefs),\n outputs: outputDefs,\n element: {\n ns: ns,\n name: name,\n attrs: attrs,\n template: null,\n // will bet set by the view definition\n componentProvider: null,\n componentView: componentView || null,\n componentRendererType: componentRendererType,\n publicProviders: null,\n allProviders: null,\n handleEvent: handleEvent || NOOP,\n },\n provider: null,\n text: null,\n query: null,\n ngContent: null\n };\n var _b;\n}\n/**\n * @param {?} view\n * @param {?} renderHost\n * @param {?} def\n * @return {?}\n */\nfunction createElement(view, renderHost, def) {\n var /** @type {?} */ elDef = /** @type {?} */ ((def.element));\n var /** @type {?} */ rootSelectorOrNode = view.root.selectorOrNode;\n var /** @type {?} */ renderer = view.renderer;\n var /** @type {?} */ el;\n if (view.parent || !rootSelectorOrNode) {\n if (elDef.name) {\n el = renderer.createElement(elDef.name, elDef.ns);\n }\n else {\n el = renderer.createComment('');\n }\n var /** @type {?} */ parentEl = getParentRenderElement(view, renderHost, def);\n if (parentEl) {\n renderer.appendChild(parentEl, el);\n }\n }\n else {\n el = renderer.selectRootElement(rootSelectorOrNode);\n }\n if (elDef.attrs) {\n for (var /** @type {?} */ i = 0; i < elDef.attrs.length; i++) {\n var _a = elDef.attrs[i], ns = _a[0], name_2 = _a[1], value = _a[2];\n renderer.setAttribute(el, name_2, value, ns);\n }\n }\n return el;\n}\n/**\n * @param {?} view\n * @param {?} compView\n * @param {?} def\n * @param {?} el\n * @return {?}\n */\nfunction listenToElementOutputs(view, compView, def, el) {\n for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) {\n var /** @type {?} */ output = def.outputs[i];\n var /** @type {?} */ handleEventClosure = renderEventHandlerClosure(view, def.nodeIndex, elementEventFullName(output.target, output.eventName));\n var /** @type {?} */ listenTarget = output.target;\n var /** @type {?} */ listenerView = view;\n if (output.target === 'component') {\n listenTarget = null;\n listenerView = compView;\n }\n var /** @type {?} */ disposable = /** @type {?} */ (listenerView.renderer.listen(listenTarget || el, output.eventName, handleEventClosure)); /** @type {?} */\n ((view.disposables))[def.outputIndex + i] = disposable;\n }\n}\n/**\n * @param {?} view\n * @param {?} index\n * @param {?} eventName\n * @return {?}\n */\nfunction renderEventHandlerClosure(view, index, eventName) {\n return function (event) { return dispatchEvent(view, index, eventName, event); };\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} v0\n * @param {?} v1\n * @param {?} v2\n * @param {?} v3\n * @param {?} v4\n * @param {?} v5\n * @param {?} v6\n * @param {?} v7\n * @param {?} v8\n * @param {?} v9\n * @return {?}\n */\nfunction checkAndUpdateElementInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n var /** @type {?} */ bindLen = def.bindings.length;\n var /** @type {?} */ changed = false;\n if (bindLen > 0 && checkAndUpdateElementValue(view, def, 0, v0))\n changed = true;\n if (bindLen > 1 && checkAndUpdateElementValue(view, def, 1, v1))\n changed = true;\n if (bindLen > 2 && checkAndUpdateElementValue(view, def, 2, v2))\n changed = true;\n if (bindLen > 3 && checkAndUpdateElementValue(view, def, 3, v3))\n changed = true;\n if (bindLen > 4 && checkAndUpdateElementValue(view, def, 4, v4))\n changed = true;\n if (bindLen > 5 && checkAndUpdateElementValue(view, def, 5, v5))\n changed = true;\n if (bindLen > 6 && checkAndUpdateElementValue(view, def, 6, v6))\n changed = true;\n if (bindLen > 7 && checkAndUpdateElementValue(view, def, 7, v7))\n changed = true;\n if (bindLen > 8 && checkAndUpdateElementValue(view, def, 8, v8))\n changed = true;\n if (bindLen > 9 && checkAndUpdateElementValue(view, def, 9, v9))\n changed = true;\n return changed;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} values\n * @return {?}\n */\nfunction checkAndUpdateElementDynamic(view, def, values) {\n var /** @type {?} */ changed = false;\n for (var /** @type {?} */ i = 0; i < values.length; i++) {\n if (checkAndUpdateElementValue(view, def, i, values[i]))\n changed = true;\n }\n return changed;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} bindingIdx\n * @param {?} value\n * @return {?}\n */\nfunction checkAndUpdateElementValue(view, def, bindingIdx, value) {\n if (!checkAndUpdateBinding(view, def, bindingIdx, value)) {\n return false;\n }\n var /** @type {?} */ binding = def.bindings[bindingIdx];\n var /** @type {?} */ elData = asElementData(view, def.nodeIndex);\n var /** @type {?} */ renderNode$$1 = elData.renderElement;\n var /** @type {?} */ name = /** @type {?} */ ((binding.name));\n switch (binding.flags & 15 /* Types */) {\n case 1 /* TypeElementAttribute */:\n setElementAttribute(view, binding, renderNode$$1, binding.ns, name, value);\n break;\n case 2 /* TypeElementClass */:\n setElementClass(view, renderNode$$1, name, value);\n break;\n case 4 /* TypeElementStyle */:\n setElementStyle(view, binding, renderNode$$1, name, value);\n break;\n case 8 /* TypeProperty */:\n var /** @type {?} */ bindView = (def.flags & 33554432 /* ComponentView */ &&\n binding.flags & 32 /* SyntheticHostProperty */) ?\n elData.componentView :\n view;\n setElementProperty(bindView, binding, renderNode$$1, name, value);\n break;\n }\n return true;\n}\n/**\n * @param {?} view\n * @param {?} binding\n * @param {?} renderNode\n * @param {?} ns\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\nfunction setElementAttribute(view, binding, renderNode$$1, ns, name, value) {\n var /** @type {?} */ securityContext = binding.securityContext;\n var /** @type {?} */ renderValue = securityContext ? view.root.sanitizer.sanitize(securityContext, value) : value;\n renderValue = renderValue != null ? renderValue.toString() : null;\n var /** @type {?} */ renderer = view.renderer;\n if (value != null) {\n renderer.setAttribute(renderNode$$1, name, renderValue, ns);\n }\n else {\n renderer.removeAttribute(renderNode$$1, name, ns);\n }\n}\n/**\n * @param {?} view\n * @param {?} renderNode\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\nfunction setElementClass(view, renderNode$$1, name, value) {\n var /** @type {?} */ renderer = view.renderer;\n if (value) {\n renderer.addClass(renderNode$$1, name);\n }\n else {\n renderer.removeClass(renderNode$$1, name);\n }\n}\n/**\n * @param {?} view\n * @param {?} binding\n * @param {?} renderNode\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\nfunction setElementStyle(view, binding, renderNode$$1, name, value) {\n var /** @type {?} */ renderValue = view.root.sanitizer.sanitize(SecurityContext.STYLE, /** @type {?} */ (value));\n if (renderValue != null) {\n renderValue = renderValue.toString();\n var /** @type {?} */ unit = binding.suffix;\n if (unit != null) {\n renderValue = renderValue + unit;\n }\n }\n else {\n renderValue = null;\n }\n var /** @type {?} */ renderer = view.renderer;\n if (renderValue != null) {\n renderer.setStyle(renderNode$$1, name, renderValue);\n }\n else {\n renderer.removeStyle(renderNode$$1, name);\n }\n}\n/**\n * @param {?} view\n * @param {?} binding\n * @param {?} renderNode\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\nfunction setElementProperty(view, binding, renderNode$$1, name, value) {\n var /** @type {?} */ securityContext = binding.securityContext;\n var /** @type {?} */ renderValue = securityContext ? view.root.sanitizer.sanitize(securityContext, value) : value;\n view.renderer.setProperty(renderNode$$1, name, renderValue);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar UNDEFINED_VALUE = new Object();\nvar InjectorRefTokenKey$1 = tokenKey(Injector);\nvar NgModuleRefTokenKey = tokenKey(NgModuleRef);\n/**\n * @param {?} flags\n * @param {?} token\n * @param {?} value\n * @param {?} deps\n * @return {?}\n */\nfunction moduleProvideDef(flags, token, value, deps) {\n // Need to resolve forwardRefs as e.g. for `useValue` we\n // lowered the expression and then stopped evaluating it,\n // i.e. also didn't unwrap it.\n value = resolveForwardRef(value);\n var /** @type {?} */ depDefs = splitDepsDsl(deps, stringify(token));\n return {\n // will bet set by the module definition\n index: -1,\n deps: depDefs, flags: flags, token: token, value: value\n };\n}\n/**\n * @param {?} providers\n * @return {?}\n */\nfunction moduleDef(providers) {\n var /** @type {?} */ providersByKey = {};\n for (var /** @type {?} */ i = 0; i < providers.length; i++) {\n var /** @type {?} */ provider = providers[i];\n provider.index = i;\n providersByKey[tokenKey(provider.token)] = provider;\n }\n return {\n // Will be filled later...\n factory: null,\n providersByKey: providersByKey,\n providers: providers\n };\n}\n/**\n * @param {?} data\n * @return {?}\n */\nfunction initNgModule(data) {\n var /** @type {?} */ def = data._def;\n var /** @type {?} */ providers = data._providers = new Array(def.providers.length);\n for (var /** @type {?} */ i = 0; i < def.providers.length; i++) {\n var /** @type {?} */ provDef = def.providers[i];\n if (!(provDef.flags & 4096 /* LazyProvider */)) {\n providers[i] = _createProviderInstance$1(data, provDef);\n }\n }\n}\n/**\n * @param {?} data\n * @param {?} depDef\n * @param {?=} notFoundValue\n * @return {?}\n */\nfunction resolveNgModuleDep(data, depDef, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n if (depDef.flags & 8 /* Value */) {\n return depDef.token;\n }\n if (depDef.flags & 2 /* Optional */) {\n notFoundValue = null;\n }\n if (depDef.flags & 1 /* SkipSelf */) {\n return data._parent.get(depDef.token, notFoundValue);\n }\n var /** @type {?} */ tokenKey$$1 = depDef.tokenKey;\n switch (tokenKey$$1) {\n case InjectorRefTokenKey$1:\n case NgModuleRefTokenKey:\n return data;\n }\n var /** @type {?} */ providerDef = data._def.providersByKey[tokenKey$$1];\n if (providerDef) {\n var /** @type {?} */ providerInstance = data._providers[providerDef.index];\n if (providerInstance === undefined) {\n providerInstance = data._providers[providerDef.index] =\n _createProviderInstance$1(data, providerDef);\n }\n return providerInstance === UNDEFINED_VALUE ? undefined : providerInstance;\n }\n return data._parent.get(depDef.token, notFoundValue);\n}\n/**\n * @param {?} ngModule\n * @param {?} providerDef\n * @return {?}\n */\nfunction _createProviderInstance$1(ngModule, providerDef) {\n var /** @type {?} */ injectable;\n switch (providerDef.flags & 201347067 /* Types */) {\n case 512 /* TypeClassProvider */:\n injectable = _createClass(ngModule, providerDef.value, providerDef.deps);\n break;\n case 1024 /* TypeFactoryProvider */:\n injectable = _callFactory(ngModule, providerDef.value, providerDef.deps);\n break;\n case 2048 /* TypeUseExistingProvider */:\n injectable = resolveNgModuleDep(ngModule, providerDef.deps[0]);\n break;\n case 256 /* TypeValueProvider */:\n injectable = providerDef.value;\n break;\n }\n return injectable === undefined ? UNDEFINED_VALUE : injectable;\n}\n/**\n * @param {?} ngModule\n * @param {?} ctor\n * @param {?} deps\n * @return {?}\n */\nfunction _createClass(ngModule, ctor, deps) {\n var /** @type {?} */ len = deps.length;\n switch (len) {\n case 0:\n return new ctor();\n case 1:\n return new ctor(resolveNgModuleDep(ngModule, deps[0]));\n case 2:\n return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));\n case 3:\n return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));\n default:\n var /** @type {?} */ depValues = new Array(len);\n for (var /** @type {?} */ i = 0; i < len; i++) {\n depValues[i] = resolveNgModuleDep(ngModule, deps[i]);\n }\n return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();\n }\n}\n/**\n * @param {?} ngModule\n * @param {?} factory\n * @param {?} deps\n * @return {?}\n */\nfunction _callFactory(ngModule, factory, deps) {\n var /** @type {?} */ len = deps.length;\n switch (len) {\n case 0:\n return factory();\n case 1:\n return factory(resolveNgModuleDep(ngModule, deps[0]));\n case 2:\n return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));\n case 3:\n return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));\n default:\n var /** @type {?} */ depValues = Array(len);\n for (var /** @type {?} */ i = 0; i < len; i++) {\n depValues[i] = resolveNgModuleDep(ngModule, deps[i]);\n }\n return factory.apply(void 0, depValues);\n }\n}\n/**\n * @param {?} ngModule\n * @param {?} lifecycles\n * @return {?}\n */\nfunction callNgModuleLifecycle(ngModule, lifecycles) {\n var /** @type {?} */ def = ngModule._def;\n for (var /** @type {?} */ i = 0; i < def.providers.length; i++) {\n var /** @type {?} */ provDef = def.providers[i];\n if (provDef.flags & 131072 /* OnDestroy */) {\n var /** @type {?} */ instance = ngModule._providers[i];\n if (instance && instance !== UNDEFINED_VALUE) {\n instance.ngOnDestroy();\n }\n }\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} parentView\n * @param {?} elementData\n * @param {?} viewIndex\n * @param {?} view\n * @return {?}\n */\nfunction attachEmbeddedView(parentView, elementData, viewIndex, view) {\n var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews;\n if (viewIndex === null || viewIndex === undefined) {\n viewIndex = embeddedViews.length;\n }\n view.viewContainerParent = parentView;\n addToArray(embeddedViews, /** @type {?} */ ((viewIndex)), view);\n attachProjectedView(elementData, view);\n Services.dirtyParentQueries(view);\n var /** @type {?} */ prevView = /** @type {?} */ ((viewIndex)) > 0 ? embeddedViews[/** @type {?} */ ((viewIndex)) - 1] : null;\n renderAttachEmbeddedView(elementData, prevView, view);\n}\n/**\n * @param {?} vcElementData\n * @param {?} view\n * @return {?}\n */\nfunction attachProjectedView(vcElementData, view) {\n var /** @type {?} */ dvcElementData = declaredViewContainer(view);\n if (!dvcElementData || dvcElementData === vcElementData ||\n view.state & 16 /* IsProjectedView */) {\n return;\n }\n // Note: For performance reasons, we\n // - add a view to template._projectedViews only 1x throughout its lifetime,\n // and remove it not until the view is destroyed.\n // (hard, as when a parent view is attached/detached we would need to attach/detach all\n // nested projected views as well, even accross component boundaries).\n // - don't track the insertion order of views in the projected views array\n // (hard, as when the views of the same template are inserted different view containers)\n view.state |= 16 /* IsProjectedView */;\n var /** @type {?} */ projectedViews = dvcElementData.template._projectedViews;\n if (!projectedViews) {\n projectedViews = dvcElementData.template._projectedViews = [];\n }\n projectedViews.push(view);\n // Note: we are changing the NodeDef here as we cannot calculate\n // the fact whether a template is used for projection during compilation.\n markNodeAsProjectedTemplate(/** @type {?} */ ((view.parent)).def, /** @type {?} */ ((view.parentNodeDef)));\n}\n/**\n * @param {?} viewDef\n * @param {?} nodeDef\n * @return {?}\n */\nfunction markNodeAsProjectedTemplate(viewDef, nodeDef) {\n if (nodeDef.flags & 4 /* ProjectedTemplate */) {\n return;\n }\n viewDef.nodeFlags |= 4 /* ProjectedTemplate */;\n nodeDef.flags |= 4 /* ProjectedTemplate */;\n var /** @type {?} */ parentNodeDef = nodeDef.parent;\n while (parentNodeDef) {\n parentNodeDef.childFlags |= 4 /* ProjectedTemplate */;\n parentNodeDef = parentNodeDef.parent;\n }\n}\n/**\n * @param {?} elementData\n * @param {?=} viewIndex\n * @return {?}\n */\nfunction detachEmbeddedView(elementData, viewIndex) {\n var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews;\n if (viewIndex == null || viewIndex >= embeddedViews.length) {\n viewIndex = embeddedViews.length - 1;\n }\n if (viewIndex < 0) {\n return null;\n }\n var /** @type {?} */ view = embeddedViews[viewIndex];\n view.viewContainerParent = null;\n removeFromArray(embeddedViews, viewIndex);\n // See attachProjectedView for why we don't update projectedViews here.\n Services.dirtyParentQueries(view);\n renderDetachView(view);\n return view;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction detachProjectedView(view) {\n if (!(view.state & 16 /* IsProjectedView */)) {\n return;\n }\n var /** @type {?} */ dvcElementData = declaredViewContainer(view);\n if (dvcElementData) {\n var /** @type {?} */ projectedViews = dvcElementData.template._projectedViews;\n if (projectedViews) {\n removeFromArray(projectedViews, projectedViews.indexOf(view));\n Services.dirtyParentQueries(view);\n }\n }\n}\n/**\n * @param {?} elementData\n * @param {?} oldViewIndex\n * @param {?} newViewIndex\n * @return {?}\n */\nfunction moveEmbeddedView(elementData, oldViewIndex, newViewIndex) {\n var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews;\n var /** @type {?} */ view = embeddedViews[oldViewIndex];\n removeFromArray(embeddedViews, oldViewIndex);\n if (newViewIndex == null) {\n newViewIndex = embeddedViews.length;\n }\n addToArray(embeddedViews, newViewIndex, view);\n // Note: Don't need to change projectedViews as the order in there\n // as always invalid...\n Services.dirtyParentQueries(view);\n renderDetachView(view);\n var /** @type {?} */ prevView = newViewIndex > 0 ? embeddedViews[newViewIndex - 1] : null;\n renderAttachEmbeddedView(elementData, prevView, view);\n return view;\n}\n/**\n * @param {?} elementData\n * @param {?} prevView\n * @param {?} view\n * @return {?}\n */\nfunction renderAttachEmbeddedView(elementData, prevView, view) {\n var /** @type {?} */ prevRenderNode = prevView ? renderNode(prevView, /** @type {?} */ ((prevView.def.lastRenderRootNode))) :\n elementData.renderElement;\n var /** @type {?} */ parentNode = view.renderer.parentNode(prevRenderNode);\n var /** @type {?} */ nextSibling = view.renderer.nextSibling(prevRenderNode);\n // Note: We can't check if `nextSibling` is present, as on WebWorkers it will always be!\n // However, browsers automatically do `appendChild` when there is no `nextSibling`.\n visitRootRenderNodes(view, 2 /* InsertBefore */, parentNode, nextSibling, undefined);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction renderDetachView(view) {\n visitRootRenderNodes(view, 3 /* RemoveChild */, null, null, undefined);\n}\n/**\n * @param {?} arr\n * @param {?} index\n * @param {?} value\n * @return {?}\n */\nfunction addToArray(arr, index, value) {\n // perf: array.push is faster than array.splice!\n if (index >= arr.length) {\n arr.push(value);\n }\n else {\n arr.splice(index, 0, value);\n }\n}\n/**\n * @param {?} arr\n * @param {?} index\n * @return {?}\n */\nfunction removeFromArray(arr, index) {\n // perf: array.pop is faster than array.splice!\n if (index >= arr.length - 1) {\n arr.pop();\n }\n else {\n arr.splice(index, 1);\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar EMPTY_CONTEXT = new Object();\n/**\n * @param {?} selector\n * @param {?} componentType\n * @param {?} viewDefFactory\n * @param {?} inputs\n * @param {?} outputs\n * @param {?} ngContentSelectors\n * @return {?}\n */\nfunction createComponentFactory(selector, componentType, viewDefFactory, inputs, outputs, ngContentSelectors) {\n return new ComponentFactory_(selector, componentType, viewDefFactory, inputs, outputs, ngContentSelectors);\n}\n/**\n * @param {?} componentFactory\n * @return {?}\n */\nfunction getComponentViewDefinitionFactory(componentFactory) {\n return (/** @type {?} */ (componentFactory)).viewDefFactory;\n}\nvar ComponentFactory_ = /** @class */ (function (_super) {\n __extends(ComponentFactory_, _super);\n function ComponentFactory_(selector, componentType, viewDefFactory, _inputs, _outputs, ngContentSelectors) {\n var _this = \n // Attention: this ctor is called as top level function.\n // Putting any logic in here will destroy closure tree shaking!\n _super.call(this) || this;\n _this.selector = selector;\n _this.componentType = componentType;\n _this._inputs = _inputs;\n _this._outputs = _outputs;\n _this.ngContentSelectors = ngContentSelectors;\n _this.viewDefFactory = viewDefFactory;\n return _this;\n }\n Object.defineProperty(ComponentFactory_.prototype, \"inputs\", {\n get: /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ inputsArr = [];\n var /** @type {?} */ inputs = /** @type {?} */ ((this._inputs));\n for (var /** @type {?} */ propName in inputs) {\n var /** @type {?} */ templateName = inputs[propName];\n inputsArr.push({ propName: propName, templateName: templateName });\n }\n return inputsArr;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ComponentFactory_.prototype, \"outputs\", {\n get: /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ outputsArr = [];\n for (var /** @type {?} */ propName in this._outputs) {\n var /** @type {?} */ templateName = this._outputs[propName];\n outputsArr.push({ propName: propName, templateName: templateName });\n }\n return outputsArr;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Creates a new component.\n */\n /**\n * Creates a new component.\n * @param {?} injector\n * @param {?=} projectableNodes\n * @param {?=} rootSelectorOrNode\n * @param {?=} ngModule\n * @return {?}\n */\n ComponentFactory_.prototype.create = /**\n * Creates a new component.\n * @param {?} injector\n * @param {?=} projectableNodes\n * @param {?=} rootSelectorOrNode\n * @param {?=} ngModule\n * @return {?}\n */\n function (injector, projectableNodes, rootSelectorOrNode, ngModule) {\n if (!ngModule) {\n throw new Error('ngModule should be provided');\n }\n var /** @type {?} */ viewDef = resolveDefinition(this.viewDefFactory);\n var /** @type {?} */ componentNodeIndex = /** @type {?} */ ((/** @type {?} */ ((viewDef.nodes[0].element)).componentProvider)).nodeIndex;\n var /** @type {?} */ view = Services.createRootView(injector, projectableNodes || [], rootSelectorOrNode, viewDef, ngModule, EMPTY_CONTEXT);\n var /** @type {?} */ component = asProviderData(view, componentNodeIndex).instance;\n if (rootSelectorOrNode) {\n view.renderer.setAttribute(asElementData(view, 0).renderElement, 'ng-version', VERSION.full);\n }\n return new ComponentRef_(view, new ViewRef_(view), component);\n };\n return ComponentFactory_;\n}(ComponentFactory));\nvar ComponentRef_ = /** @class */ (function (_super) {\n __extends(ComponentRef_, _super);\n function ComponentRef_(_view, _viewRef, _component) {\n var _this = _super.call(this) || this;\n _this._view = _view;\n _this._viewRef = _viewRef;\n _this._component = _component;\n _this._elDef = _this._view.def.nodes[0];\n _this.hostView = _viewRef;\n _this.changeDetectorRef = _viewRef;\n _this.instance = _component;\n return _this;\n }\n Object.defineProperty(ComponentRef_.prototype, \"location\", {\n get: /**\n * @return {?}\n */\n function () {\n return new ElementRef(asElementData(this._view, this._elDef.nodeIndex).renderElement);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ComponentRef_.prototype, \"injector\", {\n get: /**\n * @return {?}\n */\n function () { return new Injector_(this._view, this._elDef); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ComponentRef_.prototype, \"componentType\", {\n get: /**\n * @return {?}\n */\n function () { return /** @type {?} */ (this._component.constructor); },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n ComponentRef_.prototype.destroy = /**\n * @return {?}\n */\n function () { this._viewRef.destroy(); };\n /**\n * @param {?} callback\n * @return {?}\n */\n ComponentRef_.prototype.onDestroy = /**\n * @param {?} callback\n * @return {?}\n */\n function (callback) { this._viewRef.onDestroy(callback); };\n return ComponentRef_;\n}(ComponentRef));\n/**\n * @param {?} view\n * @param {?} elDef\n * @param {?} elData\n * @return {?}\n */\nfunction createViewContainerData(view, elDef, elData) {\n return new ViewContainerRef_(view, elDef, elData);\n}\nvar ViewContainerRef_ = /** @class */ (function () {\n function ViewContainerRef_(_view, _elDef, _data) {\n this._view = _view;\n this._elDef = _elDef;\n this._data = _data;\n /**\n * \\@internal\n */\n this._embeddedViews = [];\n }\n Object.defineProperty(ViewContainerRef_.prototype, \"element\", {\n get: /**\n * @return {?}\n */\n function () { return new ElementRef(this._data.renderElement); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ViewContainerRef_.prototype, \"injector\", {\n get: /**\n * @return {?}\n */\n function () { return new Injector_(this._view, this._elDef); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ViewContainerRef_.prototype, \"parentInjector\", {\n get: /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ view = this._view;\n var /** @type {?} */ elDef = this._elDef.parent;\n while (!elDef && view) {\n elDef = viewParentEl(view);\n view = /** @type {?} */ ((view.parent));\n }\n return view ? new Injector_(view, elDef) : new Injector_(this._view, null);\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n ViewContainerRef_.prototype.clear = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ len = this._embeddedViews.length;\n for (var /** @type {?} */ i = len - 1; i >= 0; i--) {\n var /** @type {?} */ view = /** @type {?} */ ((detachEmbeddedView(this._data, i)));\n Services.destroyView(view);\n }\n };\n /**\n * @param {?} index\n * @return {?}\n */\n ViewContainerRef_.prototype.get = /**\n * @param {?} index\n * @return {?}\n */\n function (index) {\n var /** @type {?} */ view = this._embeddedViews[index];\n if (view) {\n var /** @type {?} */ ref = new ViewRef_(view);\n ref.attachToViewContainerRef(this);\n return ref;\n }\n return null;\n };\n Object.defineProperty(ViewContainerRef_.prototype, \"length\", {\n get: /**\n * @return {?}\n */\n function () { return this._embeddedViews.length; },\n enumerable: true,\n configurable: true\n });\n /**\n * @template C\n * @param {?} templateRef\n * @param {?=} context\n * @param {?=} index\n * @return {?}\n */\n ViewContainerRef_.prototype.createEmbeddedView = /**\n * @template C\n * @param {?} templateRef\n * @param {?=} context\n * @param {?=} index\n * @return {?}\n */\n function (templateRef, context, index) {\n var /** @type {?} */ viewRef = templateRef.createEmbeddedView(context || /** @type {?} */ ({}));\n this.insert(viewRef, index);\n return viewRef;\n };\n /**\n * @template C\n * @param {?} componentFactory\n * @param {?=} index\n * @param {?=} injector\n * @param {?=} projectableNodes\n * @param {?=} ngModuleRef\n * @return {?}\n */\n ViewContainerRef_.prototype.createComponent = /**\n * @template C\n * @param {?} componentFactory\n * @param {?=} index\n * @param {?=} injector\n * @param {?=} projectableNodes\n * @param {?=} ngModuleRef\n * @return {?}\n */\n function (componentFactory, index, injector, projectableNodes, ngModuleRef) {\n var /** @type {?} */ contextInjector = injector || this.parentInjector;\n if (!ngModuleRef && !(componentFactory instanceof ComponentFactoryBoundToModule)) {\n ngModuleRef = contextInjector.get(NgModuleRef);\n }\n var /** @type {?} */ componentRef = componentFactory.create(contextInjector, projectableNodes, undefined, ngModuleRef);\n this.insert(componentRef.hostView, index);\n return componentRef;\n };\n /**\n * @param {?} viewRef\n * @param {?=} index\n * @return {?}\n */\n ViewContainerRef_.prototype.insert = /**\n * @param {?} viewRef\n * @param {?=} index\n * @return {?}\n */\n function (viewRef, index) {\n if (viewRef.destroyed) {\n throw new Error('Cannot insert a destroyed View in a ViewContainer!');\n }\n var /** @type {?} */ viewRef_ = /** @type {?} */ (viewRef);\n var /** @type {?} */ viewData = viewRef_._view;\n attachEmbeddedView(this._view, this._data, index, viewData);\n viewRef_.attachToViewContainerRef(this);\n return viewRef;\n };\n /**\n * @param {?} viewRef\n * @param {?} currentIndex\n * @return {?}\n */\n ViewContainerRef_.prototype.move = /**\n * @param {?} viewRef\n * @param {?} currentIndex\n * @return {?}\n */\n function (viewRef, currentIndex) {\n if (viewRef.destroyed) {\n throw new Error('Cannot move a destroyed View in a ViewContainer!');\n }\n var /** @type {?} */ previousIndex = this._embeddedViews.indexOf(viewRef._view);\n moveEmbeddedView(this._data, previousIndex, currentIndex);\n return viewRef;\n };\n /**\n * @param {?} viewRef\n * @return {?}\n */\n ViewContainerRef_.prototype.indexOf = /**\n * @param {?} viewRef\n * @return {?}\n */\n function (viewRef) {\n return this._embeddedViews.indexOf((/** @type {?} */ (viewRef))._view);\n };\n /**\n * @param {?=} index\n * @return {?}\n */\n ViewContainerRef_.prototype.remove = /**\n * @param {?=} index\n * @return {?}\n */\n function (index) {\n var /** @type {?} */ viewData = detachEmbeddedView(this._data, index);\n if (viewData) {\n Services.destroyView(viewData);\n }\n };\n /**\n * @param {?=} index\n * @return {?}\n */\n ViewContainerRef_.prototype.detach = /**\n * @param {?=} index\n * @return {?}\n */\n function (index) {\n var /** @type {?} */ view = detachEmbeddedView(this._data, index);\n return view ? new ViewRef_(view) : null;\n };\n return ViewContainerRef_;\n}());\n/**\n * @param {?} view\n * @return {?}\n */\nfunction createChangeDetectorRef(view) {\n return new ViewRef_(view);\n}\nvar ViewRef_ = /** @class */ (function () {\n function ViewRef_(_view) {\n this._view = _view;\n this._viewContainerRef = null;\n this._appRef = null;\n }\n Object.defineProperty(ViewRef_.prototype, \"rootNodes\", {\n get: /**\n * @return {?}\n */\n function () { return rootRenderNodes(this._view); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ViewRef_.prototype, \"context\", {\n get: /**\n * @return {?}\n */\n function () { return this._view.context; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ViewRef_.prototype, \"destroyed\", {\n get: /**\n * @return {?}\n */\n function () { return (this._view.state & 128 /* Destroyed */) !== 0; },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n ViewRef_.prototype.markForCheck = /**\n * @return {?}\n */\n function () { markParentViewsForCheck(this._view); };\n /**\n * @return {?}\n */\n ViewRef_.prototype.detach = /**\n * @return {?}\n */\n function () { this._view.state &= ~4 /* Attached */; };\n /**\n * @return {?}\n */\n ViewRef_.prototype.detectChanges = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ fs = this._view.root.rendererFactory;\n if (fs.begin) {\n fs.begin();\n }\n try {\n Services.checkAndUpdateView(this._view);\n }\n finally {\n if (fs.end) {\n fs.end();\n }\n }\n };\n /**\n * @return {?}\n */\n ViewRef_.prototype.checkNoChanges = /**\n * @return {?}\n */\n function () { Services.checkNoChangesView(this._view); };\n /**\n * @return {?}\n */\n ViewRef_.prototype.reattach = /**\n * @return {?}\n */\n function () { this._view.state |= 4 /* Attached */; };\n /**\n * @param {?} callback\n * @return {?}\n */\n ViewRef_.prototype.onDestroy = /**\n * @param {?} callback\n * @return {?}\n */\n function (callback) {\n if (!this._view.disposables) {\n this._view.disposables = [];\n }\n this._view.disposables.push(/** @type {?} */ (callback));\n };\n /**\n * @return {?}\n */\n ViewRef_.prototype.destroy = /**\n * @return {?}\n */\n function () {\n if (this._appRef) {\n this._appRef.detachView(this);\n }\n else if (this._viewContainerRef) {\n this._viewContainerRef.detach(this._viewContainerRef.indexOf(this));\n }\n Services.destroyView(this._view);\n };\n /**\n * @return {?}\n */\n ViewRef_.prototype.detachFromAppRef = /**\n * @return {?}\n */\n function () {\n this._appRef = null;\n renderDetachView(this._view);\n Services.dirtyParentQueries(this._view);\n };\n /**\n * @param {?} appRef\n * @return {?}\n */\n ViewRef_.prototype.attachToAppRef = /**\n * @param {?} appRef\n * @return {?}\n */\n function (appRef) {\n if (this._viewContainerRef) {\n throw new Error('This view is already attached to a ViewContainer!');\n }\n this._appRef = appRef;\n };\n /**\n * @param {?} vcRef\n * @return {?}\n */\n ViewRef_.prototype.attachToViewContainerRef = /**\n * @param {?} vcRef\n * @return {?}\n */\n function (vcRef) {\n if (this._appRef) {\n throw new Error('This view is already attached directly to the ApplicationRef!');\n }\n this._viewContainerRef = vcRef;\n };\n return ViewRef_;\n}());\n/**\n * @param {?} view\n * @param {?} def\n * @return {?}\n */\nfunction createTemplateData(view, def) {\n return new TemplateRef_(view, def);\n}\nvar TemplateRef_ = /** @class */ (function (_super) {\n __extends(TemplateRef_, _super);\n function TemplateRef_(_parentView, _def) {\n var _this = _super.call(this) || this;\n _this._parentView = _parentView;\n _this._def = _def;\n return _this;\n }\n /**\n * @param {?} context\n * @return {?}\n */\n TemplateRef_.prototype.createEmbeddedView = /**\n * @param {?} context\n * @return {?}\n */\n function (context) {\n return new ViewRef_(Services.createEmbeddedView(this._parentView, this._def, /** @type {?} */ ((/** @type {?} */ ((this._def.element)).template)), context));\n };\n Object.defineProperty(TemplateRef_.prototype, \"elementRef\", {\n get: /**\n * @return {?}\n */\n function () {\n return new ElementRef(asElementData(this._parentView, this._def.nodeIndex).renderElement);\n },\n enumerable: true,\n configurable: true\n });\n return TemplateRef_;\n}(TemplateRef));\n/**\n * @param {?} view\n * @param {?} elDef\n * @return {?}\n */\nfunction createInjector(view, elDef) {\n return new Injector_(view, elDef);\n}\nvar Injector_ = /** @class */ (function () {\n function Injector_(view, elDef) {\n this.view = view;\n this.elDef = elDef;\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n Injector_.prototype.get = /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n var /** @type {?} */ allowPrivateServices = this.elDef ? (this.elDef.flags & 33554432 /* ComponentView */) !== 0 : false;\n return Services.resolveDep(this.view, this.elDef, allowPrivateServices, { flags: 0 /* None */, token: token, tokenKey: tokenKey(token) }, notFoundValue);\n };\n return Injector_;\n}());\n/**\n * @param {?} view\n * @param {?} index\n * @return {?}\n */\nfunction nodeValue(view, index) {\n var /** @type {?} */ def = view.def.nodes[index];\n if (def.flags & 1 /* TypeElement */) {\n var /** @type {?} */ elData = asElementData(view, def.nodeIndex);\n return /** @type {?} */ ((def.element)).template ? elData.template : elData.renderElement;\n }\n else if (def.flags & 2 /* TypeText */) {\n return asTextData(view, def.nodeIndex).renderText;\n }\n else if (def.flags & (20224 /* CatProvider */ | 16 /* TypePipe */)) {\n return asProviderData(view, def.nodeIndex).instance;\n }\n throw new Error(\"Illegal state: read nodeValue for node index \" + index);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction createRendererV1(view) {\n return new RendererAdapter(view.renderer);\n}\nvar RendererAdapter = /** @class */ (function () {\n function RendererAdapter(delegate) {\n this.delegate = delegate;\n }\n /**\n * @param {?} selectorOrNode\n * @return {?}\n */\n RendererAdapter.prototype.selectRootElement = /**\n * @param {?} selectorOrNode\n * @return {?}\n */\n function (selectorOrNode) {\n return this.delegate.selectRootElement(selectorOrNode);\n };\n /**\n * @param {?} parent\n * @param {?} namespaceAndName\n * @return {?}\n */\n RendererAdapter.prototype.createElement = /**\n * @param {?} parent\n * @param {?} namespaceAndName\n * @return {?}\n */\n function (parent, namespaceAndName) {\n var _a = splitNamespace(namespaceAndName), ns = _a[0], name = _a[1];\n var /** @type {?} */ el = this.delegate.createElement(name, ns);\n if (parent) {\n this.delegate.appendChild(parent, el);\n }\n return el;\n };\n /**\n * @param {?} hostElement\n * @return {?}\n */\n RendererAdapter.prototype.createViewRoot = /**\n * @param {?} hostElement\n * @return {?}\n */\n function (hostElement) { return hostElement; };\n /**\n * @param {?} parentElement\n * @return {?}\n */\n RendererAdapter.prototype.createTemplateAnchor = /**\n * @param {?} parentElement\n * @return {?}\n */\n function (parentElement) {\n var /** @type {?} */ comment = this.delegate.createComment('');\n if (parentElement) {\n this.delegate.appendChild(parentElement, comment);\n }\n return comment;\n };\n /**\n * @param {?} parentElement\n * @param {?} value\n * @return {?}\n */\n RendererAdapter.prototype.createText = /**\n * @param {?} parentElement\n * @param {?} value\n * @return {?}\n */\n function (parentElement, value) {\n var /** @type {?} */ node = this.delegate.createText(value);\n if (parentElement) {\n this.delegate.appendChild(parentElement, node);\n }\n return node;\n };\n /**\n * @param {?} parentElement\n * @param {?} nodes\n * @return {?}\n */\n RendererAdapter.prototype.projectNodes = /**\n * @param {?} parentElement\n * @param {?} nodes\n * @return {?}\n */\n function (parentElement, nodes) {\n for (var /** @type {?} */ i = 0; i < nodes.length; i++) {\n this.delegate.appendChild(parentElement, nodes[i]);\n }\n };\n /**\n * @param {?} node\n * @param {?} viewRootNodes\n * @return {?}\n */\n RendererAdapter.prototype.attachViewAfter = /**\n * @param {?} node\n * @param {?} viewRootNodes\n * @return {?}\n */\n function (node, viewRootNodes) {\n var /** @type {?} */ parentElement = this.delegate.parentNode(node);\n var /** @type {?} */ nextSibling = this.delegate.nextSibling(node);\n for (var /** @type {?} */ i = 0; i < viewRootNodes.length; i++) {\n this.delegate.insertBefore(parentElement, viewRootNodes[i], nextSibling);\n }\n };\n /**\n * @param {?} viewRootNodes\n * @return {?}\n */\n RendererAdapter.prototype.detachView = /**\n * @param {?} viewRootNodes\n * @return {?}\n */\n function (viewRootNodes) {\n for (var /** @type {?} */ i = 0; i < viewRootNodes.length; i++) {\n var /** @type {?} */ node = viewRootNodes[i];\n var /** @type {?} */ parentElement = this.delegate.parentNode(node);\n this.delegate.removeChild(parentElement, node);\n }\n };\n /**\n * @param {?} hostElement\n * @param {?} viewAllNodes\n * @return {?}\n */\n RendererAdapter.prototype.destroyView = /**\n * @param {?} hostElement\n * @param {?} viewAllNodes\n * @return {?}\n */\n function (hostElement, viewAllNodes) {\n for (var /** @type {?} */ i = 0; i < viewAllNodes.length; i++) {\n /** @type {?} */ ((this.delegate.destroyNode))(viewAllNodes[i]);\n }\n };\n /**\n * @param {?} renderElement\n * @param {?} name\n * @param {?} callback\n * @return {?}\n */\n RendererAdapter.prototype.listen = /**\n * @param {?} renderElement\n * @param {?} name\n * @param {?} callback\n * @return {?}\n */\n function (renderElement, name, callback) {\n return this.delegate.listen(renderElement, name, /** @type {?} */ (callback));\n };\n /**\n * @param {?} target\n * @param {?} name\n * @param {?} callback\n * @return {?}\n */\n RendererAdapter.prototype.listenGlobal = /**\n * @param {?} target\n * @param {?} name\n * @param {?} callback\n * @return {?}\n */\n function (target, name, callback) {\n return this.delegate.listen(target, name, /** @type {?} */ (callback));\n };\n /**\n * @param {?} renderElement\n * @param {?} propertyName\n * @param {?} propertyValue\n * @return {?}\n */\n RendererAdapter.prototype.setElementProperty = /**\n * @param {?} renderElement\n * @param {?} propertyName\n * @param {?} propertyValue\n * @return {?}\n */\n function (renderElement, propertyName, propertyValue) {\n this.delegate.setProperty(renderElement, propertyName, propertyValue);\n };\n /**\n * @param {?} renderElement\n * @param {?} namespaceAndName\n * @param {?} attributeValue\n * @return {?}\n */\n RendererAdapter.prototype.setElementAttribute = /**\n * @param {?} renderElement\n * @param {?} namespaceAndName\n * @param {?} attributeValue\n * @return {?}\n */\n function (renderElement, namespaceAndName, attributeValue) {\n var _a = splitNamespace(namespaceAndName), ns = _a[0], name = _a[1];\n if (attributeValue != null) {\n this.delegate.setAttribute(renderElement, name, attributeValue, ns);\n }\n else {\n this.delegate.removeAttribute(renderElement, name, ns);\n }\n };\n /**\n * @param {?} renderElement\n * @param {?} propertyName\n * @param {?} propertyValue\n * @return {?}\n */\n RendererAdapter.prototype.setBindingDebugInfo = /**\n * @param {?} renderElement\n * @param {?} propertyName\n * @param {?} propertyValue\n * @return {?}\n */\n function (renderElement, propertyName, propertyValue) { };\n /**\n * @param {?} renderElement\n * @param {?} className\n * @param {?} isAdd\n * @return {?}\n */\n RendererAdapter.prototype.setElementClass = /**\n * @param {?} renderElement\n * @param {?} className\n * @param {?} isAdd\n * @return {?}\n */\n function (renderElement, className, isAdd) {\n if (isAdd) {\n this.delegate.addClass(renderElement, className);\n }\n else {\n this.delegate.removeClass(renderElement, className);\n }\n };\n /**\n * @param {?} renderElement\n * @param {?} styleName\n * @param {?} styleValue\n * @return {?}\n */\n RendererAdapter.prototype.setElementStyle = /**\n * @param {?} renderElement\n * @param {?} styleName\n * @param {?} styleValue\n * @return {?}\n */\n function (renderElement, styleName, styleValue) {\n if (styleValue != null) {\n this.delegate.setStyle(renderElement, styleName, styleValue);\n }\n else {\n this.delegate.removeStyle(renderElement, styleName);\n }\n };\n /**\n * @param {?} renderElement\n * @param {?} methodName\n * @param {?} args\n * @return {?}\n */\n RendererAdapter.prototype.invokeElementMethod = /**\n * @param {?} renderElement\n * @param {?} methodName\n * @param {?} args\n * @return {?}\n */\n function (renderElement, methodName, args) {\n (/** @type {?} */ (renderElement))[methodName].apply(renderElement, args);\n };\n /**\n * @param {?} renderNode\n * @param {?} text\n * @return {?}\n */\n RendererAdapter.prototype.setText = /**\n * @param {?} renderNode\n * @param {?} text\n * @return {?}\n */\n function (renderNode$$1, text) { this.delegate.setValue(renderNode$$1, text); };\n /**\n * @return {?}\n */\n RendererAdapter.prototype.animate = /**\n * @return {?}\n */\n function () { throw new Error('Renderer.animate is no longer supported!'); };\n return RendererAdapter;\n}());\n/**\n * @param {?} moduleType\n * @param {?} parent\n * @param {?} bootstrapComponents\n * @param {?} def\n * @return {?}\n */\nfunction createNgModuleRef(moduleType, parent, bootstrapComponents, def) {\n return new NgModuleRef_(moduleType, parent, bootstrapComponents, def);\n}\nvar NgModuleRef_ = /** @class */ (function () {\n function NgModuleRef_(_moduleType, _parent, _bootstrapComponents, _def) {\n this._moduleType = _moduleType;\n this._parent = _parent;\n this._bootstrapComponents = _bootstrapComponents;\n this._def = _def;\n this._destroyListeners = [];\n this._destroyed = false;\n this.injector = this;\n initNgModule(this);\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n NgModuleRef_.prototype.get = /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n return resolveNgModuleDep(this, { token: token, tokenKey: tokenKey(token), flags: 0 /* None */ }, notFoundValue);\n };\n Object.defineProperty(NgModuleRef_.prototype, \"instance\", {\n get: /**\n * @return {?}\n */\n function () { return this.get(this._moduleType); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgModuleRef_.prototype, \"componentFactoryResolver\", {\n get: /**\n * @return {?}\n */\n function () { return this.get(ComponentFactoryResolver); },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n NgModuleRef_.prototype.destroy = /**\n * @return {?}\n */\n function () {\n if (this._destroyed) {\n throw new Error(\"The ng module \" + stringify(this.instance.constructor) + \" has already been destroyed.\");\n }\n this._destroyed = true;\n callNgModuleLifecycle(this, 131072 /* OnDestroy */);\n this._destroyListeners.forEach(function (listener) { return listener(); });\n };\n /**\n * @param {?} callback\n * @return {?}\n */\n NgModuleRef_.prototype.onDestroy = /**\n * @param {?} callback\n * @return {?}\n */\n function (callback) { this._destroyListeners.push(callback); };\n return NgModuleRef_;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar RendererV1TokenKey = tokenKey(Renderer);\nvar Renderer2TokenKey = tokenKey(Renderer2);\nvar ElementRefTokenKey = tokenKey(ElementRef);\nvar ViewContainerRefTokenKey = tokenKey(ViewContainerRef);\nvar TemplateRefTokenKey = tokenKey(TemplateRef);\nvar ChangeDetectorRefTokenKey = tokenKey(ChangeDetectorRef);\nvar InjectorRefTokenKey = tokenKey(Injector);\n/**\n * @param {?} checkIndex\n * @param {?} flags\n * @param {?} matchedQueries\n * @param {?} childCount\n * @param {?} ctor\n * @param {?} deps\n * @param {?=} props\n * @param {?=} outputs\n * @return {?}\n */\nfunction directiveDef(checkIndex, flags, matchedQueries, childCount, ctor, deps, props, outputs) {\n var /** @type {?} */ bindings = [];\n if (props) {\n for (var /** @type {?} */ prop in props) {\n var _a = props[prop], bindingIndex = _a[0], nonMinifiedName = _a[1];\n bindings[bindingIndex] = {\n flags: 8 /* TypeProperty */,\n name: prop, nonMinifiedName: nonMinifiedName,\n ns: null,\n securityContext: null,\n suffix: null\n };\n }\n }\n var /** @type {?} */ outputDefs = [];\n if (outputs) {\n for (var /** @type {?} */ propName in outputs) {\n outputDefs.push({ type: 1 /* DirectiveOutput */, propName: propName, target: null, eventName: outputs[propName] });\n }\n }\n flags |= 16384 /* TypeDirective */;\n return _def(checkIndex, flags, matchedQueries, childCount, ctor, ctor, deps, bindings, outputDefs);\n}\n/**\n * @param {?} flags\n * @param {?} ctor\n * @param {?} deps\n * @return {?}\n */\nfunction pipeDef(flags, ctor, deps) {\n flags |= 16 /* TypePipe */;\n return _def(-1, flags, null, 0, ctor, ctor, deps);\n}\n/**\n * @param {?} flags\n * @param {?} matchedQueries\n * @param {?} token\n * @param {?} value\n * @param {?} deps\n * @return {?}\n */\nfunction providerDef(flags, matchedQueries, token, value, deps) {\n return _def(-1, flags, matchedQueries, 0, token, value, deps);\n}\n/**\n * @param {?} checkIndex\n * @param {?} flags\n * @param {?} matchedQueriesDsl\n * @param {?} childCount\n * @param {?} token\n * @param {?} value\n * @param {?} deps\n * @param {?=} bindings\n * @param {?=} outputs\n * @return {?}\n */\nfunction _def(checkIndex, flags, matchedQueriesDsl, childCount, token, value, deps, bindings, outputs) {\n var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds;\n if (!outputs) {\n outputs = [];\n }\n if (!bindings) {\n bindings = [];\n }\n // Need to resolve forwardRefs as e.g. for `useValue` we\n // lowered the expression and then stopped evaluating it,\n // i.e. also didn't unwrap it.\n value = resolveForwardRef(value);\n var /** @type {?} */ depDefs = splitDepsDsl(deps, stringify(token));\n return {\n // will bet set by the view definition\n nodeIndex: -1,\n parent: null,\n renderParent: null,\n bindingIndex: -1,\n outputIndex: -1,\n // regular values\n checkIndex: checkIndex,\n flags: flags,\n childFlags: 0,\n directChildFlags: 0,\n childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references,\n ngContentIndex: -1, childCount: childCount, bindings: bindings,\n bindingFlags: calcBindingFlags(bindings), outputs: outputs,\n element: null,\n provider: { token: token, value: value, deps: depDefs },\n text: null,\n query: null,\n ngContent: null\n };\n}\n/**\n * @param {?} view\n * @param {?} def\n * @return {?}\n */\nfunction createProviderInstance(view, def) {\n return _createProviderInstance(view, def);\n}\n/**\n * @param {?} view\n * @param {?} def\n * @return {?}\n */\nfunction createPipeInstance(view, def) {\n // deps are looked up from component.\n var /** @type {?} */ compView = view;\n while (compView.parent && !isComponentView(compView)) {\n compView = compView.parent;\n }\n // pipes can see the private services of the component\n var /** @type {?} */ allowPrivateServices = true;\n // pipes are always eager and classes!\n return createClass(/** @type {?} */ ((compView.parent)), /** @type {?} */ ((viewParentEl(compView))), allowPrivateServices, /** @type {?} */ ((def.provider)).value, /** @type {?} */ ((def.provider)).deps);\n}\n/**\n * @param {?} view\n * @param {?} def\n * @return {?}\n */\nfunction createDirectiveInstance(view, def) {\n // components can see other private services, other directives can't.\n var /** @type {?} */ allowPrivateServices = (def.flags & 32768 /* Component */) > 0;\n // directives are always eager and classes!\n var /** @type {?} */ instance = createClass(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((def.provider)).value, /** @type {?} */ ((def.provider)).deps);\n if (def.outputs.length) {\n for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) {\n var /** @type {?} */ output = def.outputs[i];\n var /** @type {?} */ subscription = instance[/** @type {?} */ ((output.propName))].subscribe(eventHandlerClosure(view, /** @type {?} */ ((def.parent)).nodeIndex, output.eventName)); /** @type {?} */\n ((view.disposables))[def.outputIndex + i] = subscription.unsubscribe.bind(subscription);\n }\n }\n return instance;\n}\n/**\n * @param {?} view\n * @param {?} index\n * @param {?} eventName\n * @return {?}\n */\nfunction eventHandlerClosure(view, index, eventName) {\n return function (event) { return dispatchEvent(view, index, eventName, event); };\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} v0\n * @param {?} v1\n * @param {?} v2\n * @param {?} v3\n * @param {?} v4\n * @param {?} v5\n * @param {?} v6\n * @param {?} v7\n * @param {?} v8\n * @param {?} v9\n * @return {?}\n */\nfunction checkAndUpdateDirectiveInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex);\n var /** @type {?} */ directive = providerData.instance;\n var /** @type {?} */ changed = false;\n var /** @type {?} */ changes = /** @type {?} */ ((undefined));\n var /** @type {?} */ bindLen = def.bindings.length;\n if (bindLen > 0 && checkBinding(view, def, 0, v0)) {\n changed = true;\n changes = updateProp(view, providerData, def, 0, v0, changes);\n }\n if (bindLen > 1 && checkBinding(view, def, 1, v1)) {\n changed = true;\n changes = updateProp(view, providerData, def, 1, v1, changes);\n }\n if (bindLen > 2 && checkBinding(view, def, 2, v2)) {\n changed = true;\n changes = updateProp(view, providerData, def, 2, v2, changes);\n }\n if (bindLen > 3 && checkBinding(view, def, 3, v3)) {\n changed = true;\n changes = updateProp(view, providerData, def, 3, v3, changes);\n }\n if (bindLen > 4 && checkBinding(view, def, 4, v4)) {\n changed = true;\n changes = updateProp(view, providerData, def, 4, v4, changes);\n }\n if (bindLen > 5 && checkBinding(view, def, 5, v5)) {\n changed = true;\n changes = updateProp(view, providerData, def, 5, v5, changes);\n }\n if (bindLen > 6 && checkBinding(view, def, 6, v6)) {\n changed = true;\n changes = updateProp(view, providerData, def, 6, v6, changes);\n }\n if (bindLen > 7 && checkBinding(view, def, 7, v7)) {\n changed = true;\n changes = updateProp(view, providerData, def, 7, v7, changes);\n }\n if (bindLen > 8 && checkBinding(view, def, 8, v8)) {\n changed = true;\n changes = updateProp(view, providerData, def, 8, v8, changes);\n }\n if (bindLen > 9 && checkBinding(view, def, 9, v9)) {\n changed = true;\n changes = updateProp(view, providerData, def, 9, v9, changes);\n }\n if (changes) {\n directive.ngOnChanges(changes);\n }\n if ((def.flags & 65536 /* OnInit */) &&\n shouldCallLifecycleInitHook(view, 256 /* InitState_CallingOnInit */, def.nodeIndex)) {\n directive.ngOnInit();\n }\n if (def.flags & 262144 /* DoCheck */) {\n directive.ngDoCheck();\n }\n return changed;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} values\n * @return {?}\n */\nfunction checkAndUpdateDirectiveDynamic(view, def, values) {\n var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex);\n var /** @type {?} */ directive = providerData.instance;\n var /** @type {?} */ changed = false;\n var /** @type {?} */ changes = /** @type {?} */ ((undefined));\n for (var /** @type {?} */ i = 0; i < values.length; i++) {\n if (checkBinding(view, def, i, values[i])) {\n changed = true;\n changes = updateProp(view, providerData, def, i, values[i], changes);\n }\n }\n if (changes) {\n directive.ngOnChanges(changes);\n }\n if ((def.flags & 65536 /* OnInit */) &&\n shouldCallLifecycleInitHook(view, 256 /* InitState_CallingOnInit */, def.nodeIndex)) {\n directive.ngOnInit();\n }\n if (def.flags & 262144 /* DoCheck */) {\n directive.ngDoCheck();\n }\n return changed;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @return {?}\n */\nfunction _createProviderInstance(view, def) {\n // private services can see other private services\n var /** @type {?} */ allowPrivateServices = (def.flags & 8192 /* PrivateProvider */) > 0;\n var /** @type {?} */ providerDef = def.provider;\n switch (def.flags & 201347067 /* Types */) {\n case 512 /* TypeClassProvider */:\n return createClass(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);\n case 1024 /* TypeFactoryProvider */:\n return callFactory(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);\n case 2048 /* TypeUseExistingProvider */:\n return resolveDep(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).deps[0]);\n case 256 /* TypeValueProvider */:\n return /** @type {?} */ ((providerDef)).value;\n }\n}\n/**\n * @param {?} view\n * @param {?} elDef\n * @param {?} allowPrivateServices\n * @param {?} ctor\n * @param {?} deps\n * @return {?}\n */\nfunction createClass(view, elDef, allowPrivateServices, ctor, deps) {\n var /** @type {?} */ len = deps.length;\n switch (len) {\n case 0:\n return new ctor();\n case 1:\n return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]));\n case 2:\n return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));\n case 3:\n return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));\n default:\n var /** @type {?} */ depValues = new Array(len);\n for (var /** @type {?} */ i = 0; i < len; i++) {\n depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]);\n }\n return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();\n }\n}\n/**\n * @param {?} view\n * @param {?} elDef\n * @param {?} allowPrivateServices\n * @param {?} factory\n * @param {?} deps\n * @return {?}\n */\nfunction callFactory(view, elDef, allowPrivateServices, factory, deps) {\n var /** @type {?} */ len = deps.length;\n switch (len) {\n case 0:\n return factory();\n case 1:\n return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]));\n case 2:\n return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));\n case 3:\n return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));\n default:\n var /** @type {?} */ depValues = Array(len);\n for (var /** @type {?} */ i = 0; i < len; i++) {\n depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]);\n }\n return factory.apply(void 0, depValues);\n }\n}\n// This default value is when checking the hierarchy for a token.\n//\n// It means both:\n// - the token is not provided by the current injector,\n// - only the element injectors should be checked (ie do not check module injectors\n//\n// mod1\n// /\n// el1 mod2\n// \\ /\n// el2\n//\n// When requesting el2.injector.get(token), we should check in the following order and return the\n// first found value:\n// - el2.injector.get(token, default)\n// - el1.injector.get(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) -> do not check the module\n// - mod2.injector.get(token, default)\nvar NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR = {};\n/**\n * @param {?} view\n * @param {?} elDef\n * @param {?} allowPrivateServices\n * @param {?} depDef\n * @param {?=} notFoundValue\n * @return {?}\n */\nfunction resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n if (depDef.flags & 8 /* Value */) {\n return depDef.token;\n }\n var /** @type {?} */ startView = view;\n if (depDef.flags & 2 /* Optional */) {\n notFoundValue = null;\n }\n var /** @type {?} */ tokenKey$$1 = depDef.tokenKey;\n if (tokenKey$$1 === ChangeDetectorRefTokenKey) {\n // directives on the same element as a component should be able to control the change detector\n // of that component as well.\n allowPrivateServices = !!(elDef && /** @type {?} */ ((elDef.element)).componentView);\n }\n if (elDef && (depDef.flags & 1 /* SkipSelf */)) {\n allowPrivateServices = false;\n elDef = /** @type {?} */ ((elDef.parent));\n }\n while (view) {\n if (elDef) {\n switch (tokenKey$$1) {\n case RendererV1TokenKey: {\n var /** @type {?} */ compView = findCompView(view, elDef, allowPrivateServices);\n return createRendererV1(compView);\n }\n case Renderer2TokenKey: {\n var /** @type {?} */ compView = findCompView(view, elDef, allowPrivateServices);\n return compView.renderer;\n }\n case ElementRefTokenKey:\n return new ElementRef(asElementData(view, elDef.nodeIndex).renderElement);\n case ViewContainerRefTokenKey:\n return asElementData(view, elDef.nodeIndex).viewContainer;\n case TemplateRefTokenKey: {\n if (/** @type {?} */ ((elDef.element)).template) {\n return asElementData(view, elDef.nodeIndex).template;\n }\n break;\n }\n case ChangeDetectorRefTokenKey: {\n var /** @type {?} */ cdView = findCompView(view, elDef, allowPrivateServices);\n return createChangeDetectorRef(cdView);\n }\n case InjectorRefTokenKey:\n return createInjector(view, elDef);\n default:\n var /** @type {?} */ providerDef_1 = /** @type {?} */ (((allowPrivateServices ? /** @type {?} */ ((elDef.element)).allProviders : /** @type {?} */ ((elDef.element)).publicProviders)))[tokenKey$$1];\n if (providerDef_1) {\n var /** @type {?} */ providerData = asProviderData(view, providerDef_1.nodeIndex);\n if (!providerData) {\n providerData = { instance: _createProviderInstance(view, providerDef_1) };\n view.nodes[providerDef_1.nodeIndex] = /** @type {?} */ (providerData);\n }\n return providerData.instance;\n }\n }\n }\n allowPrivateServices = isComponentView(view);\n elDef = /** @type {?} */ ((viewParentEl(view)));\n view = /** @type {?} */ ((view.parent));\n }\n var /** @type {?} */ value = startView.root.injector.get(depDef.token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR);\n if (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR ||\n notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) {\n // Return the value from the root element injector when\n // - it provides it\n // (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)\n // - the module injector should not be checked\n // (notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)\n return value;\n }\n return startView.root.ngModule.injector.get(depDef.token, notFoundValue);\n}\n/**\n * @param {?} view\n * @param {?} elDef\n * @param {?} allowPrivateServices\n * @return {?}\n */\nfunction findCompView(view, elDef, allowPrivateServices) {\n var /** @type {?} */ compView;\n if (allowPrivateServices) {\n compView = asElementData(view, elDef.nodeIndex).componentView;\n }\n else {\n compView = view;\n while (compView.parent && !isComponentView(compView)) {\n compView = compView.parent;\n }\n }\n return compView;\n}\n/**\n * @param {?} view\n * @param {?} providerData\n * @param {?} def\n * @param {?} bindingIdx\n * @param {?} value\n * @param {?} changes\n * @return {?}\n */\nfunction updateProp(view, providerData, def, bindingIdx, value, changes) {\n if (def.flags & 32768 /* Component */) {\n var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((def.parent)).nodeIndex).componentView;\n if (compView.def.flags & 2 /* OnPush */) {\n compView.state |= 8 /* ChecksEnabled */;\n }\n }\n var /** @type {?} */ binding = def.bindings[bindingIdx];\n var /** @type {?} */ propName = /** @type {?} */ ((binding.name));\n // Note: This is still safe with Closure Compiler as\n // the user passed in the property name as an object has to `providerDef`,\n // so Closure Compiler will have renamed the property correctly already.\n providerData.instance[propName] = value;\n if (def.flags & 524288 /* OnChanges */) {\n changes = changes || {};\n var /** @type {?} */ oldValue = view.oldValues[def.bindingIndex + bindingIdx];\n if (oldValue instanceof WrappedValue) {\n oldValue = oldValue.wrapped;\n }\n var /** @type {?} */ binding_1 = def.bindings[bindingIdx];\n changes[/** @type {?} */ ((binding_1.nonMinifiedName))] =\n new SimpleChange(oldValue, value, (view.state & 2 /* FirstCheck */) !== 0);\n }\n view.oldValues[def.bindingIndex + bindingIdx] = value;\n return changes;\n}\n/**\n * @param {?} view\n * @param {?} lifecycles\n * @return {?}\n */\nfunction callLifecycleHooksChildrenFirst(view, lifecycles) {\n if (!(view.def.nodeFlags & lifecycles)) {\n return;\n }\n var /** @type {?} */ nodes = view.def.nodes;\n var /** @type {?} */ initIndex = 0;\n for (var /** @type {?} */ i = 0; i < nodes.length; i++) {\n var /** @type {?} */ nodeDef = nodes[i];\n var /** @type {?} */ parent_1 = nodeDef.parent;\n if (!parent_1 && nodeDef.flags & lifecycles) {\n // matching root node (e.g. a pipe)\n callProviderLifecycles(view, i, nodeDef.flags & lifecycles, initIndex++);\n }\n if ((nodeDef.childFlags & lifecycles) === 0) {\n // no child matches one of the lifecycles\n i += nodeDef.childCount;\n }\n while (parent_1 && (parent_1.flags & 1 /* TypeElement */) &&\n i === parent_1.nodeIndex + parent_1.childCount) {\n // last child of an element\n if (parent_1.directChildFlags & lifecycles) {\n initIndex = callElementProvidersLifecycles(view, parent_1, lifecycles, initIndex);\n }\n parent_1 = parent_1.parent;\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} elDef\n * @param {?} lifecycles\n * @param {?} initIndex\n * @return {?}\n */\nfunction callElementProvidersLifecycles(view, elDef, lifecycles, initIndex) {\n for (var /** @type {?} */ i = elDef.nodeIndex + 1; i <= elDef.nodeIndex + elDef.childCount; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n if (nodeDef.flags & lifecycles) {\n callProviderLifecycles(view, i, nodeDef.flags & lifecycles, initIndex++);\n }\n // only visit direct children\n i += nodeDef.childCount;\n }\n return initIndex;\n}\n/**\n * @param {?} view\n * @param {?} index\n * @param {?} lifecycles\n * @param {?} initIndex\n * @return {?}\n */\nfunction callProviderLifecycles(view, index, lifecycles, initIndex) {\n var /** @type {?} */ providerData = asProviderData(view, index);\n if (!providerData) {\n return;\n }\n var /** @type {?} */ provider = providerData.instance;\n if (!provider) {\n return;\n }\n Services.setCurrentNode(view, index);\n if (lifecycles & 1048576 /* AfterContentInit */ &&\n shouldCallLifecycleInitHook(view, 512 /* InitState_CallingAfterContentInit */, initIndex)) {\n provider.ngAfterContentInit();\n }\n if (lifecycles & 2097152 /* AfterContentChecked */) {\n provider.ngAfterContentChecked();\n }\n if (lifecycles & 4194304 /* AfterViewInit */ &&\n shouldCallLifecycleInitHook(view, 768 /* InitState_CallingAfterViewInit */, initIndex)) {\n provider.ngAfterViewInit();\n }\n if (lifecycles & 8388608 /* AfterViewChecked */) {\n provider.ngAfterViewChecked();\n }\n if (lifecycles & 131072 /* OnDestroy */) {\n provider.ngOnDestroy();\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} flags\n * @param {?} id\n * @param {?} bindings\n * @return {?}\n */\nfunction queryDef(flags, id, bindings) {\n var /** @type {?} */ bindingDefs = [];\n for (var /** @type {?} */ propName in bindings) {\n var /** @type {?} */ bindingType = bindings[propName];\n bindingDefs.push({ propName: propName, bindingType: bindingType });\n }\n return {\n // will bet set by the view definition\n nodeIndex: -1,\n parent: null,\n renderParent: null,\n bindingIndex: -1,\n outputIndex: -1,\n // regular values\n // TODO(vicb): check\n checkIndex: -1, flags: flags,\n childFlags: 0,\n directChildFlags: 0,\n childMatchedQueries: 0,\n ngContentIndex: -1,\n matchedQueries: {},\n matchedQueryIds: 0,\n references: {},\n childCount: 0,\n bindings: [],\n bindingFlags: 0,\n outputs: [],\n element: null,\n provider: null,\n text: null,\n query: { id: id, filterId: filterQueryId(id), bindings: bindingDefs },\n ngContent: null\n };\n}\n/**\n * @return {?}\n */\nfunction createQuery() {\n return new QueryList();\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction dirtyParentQueries(view) {\n var /** @type {?} */ queryIds = view.def.nodeMatchedQueries;\n while (view.parent && isEmbeddedView(view)) {\n var /** @type {?} */ tplDef = /** @type {?} */ ((view.parentNodeDef));\n view = view.parent;\n // content queries\n var /** @type {?} */ end = tplDef.nodeIndex + tplDef.childCount;\n for (var /** @type {?} */ i = 0; i <= end; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n if ((nodeDef.flags & 67108864 /* TypeContentQuery */) &&\n (nodeDef.flags & 536870912 /* DynamicQuery */) &&\n (/** @type {?} */ ((nodeDef.query)).filterId & queryIds) === /** @type {?} */ ((nodeDef.query)).filterId) {\n asQueryList(view, i).setDirty();\n }\n if ((nodeDef.flags & 1 /* TypeElement */ && i + nodeDef.childCount < tplDef.nodeIndex) ||\n !(nodeDef.childFlags & 67108864 /* TypeContentQuery */) ||\n !(nodeDef.childFlags & 536870912 /* DynamicQuery */)) {\n // skip elements that don't contain the template element or no query.\n i += nodeDef.childCount;\n }\n }\n }\n // view queries\n if (view.def.nodeFlags & 134217728 /* TypeViewQuery */) {\n for (var /** @type {?} */ i = 0; i < view.def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n if ((nodeDef.flags & 134217728 /* TypeViewQuery */) && (nodeDef.flags & 536870912 /* DynamicQuery */)) {\n asQueryList(view, i).setDirty();\n }\n // only visit the root nodes\n i += nodeDef.childCount;\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @return {?}\n */\nfunction checkAndUpdateQuery(view, nodeDef) {\n var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex);\n if (!queryList.dirty) {\n return;\n }\n var /** @type {?} */ directiveInstance;\n var /** @type {?} */ newValues = /** @type {?} */ ((undefined));\n if (nodeDef.flags & 67108864 /* TypeContentQuery */) {\n var /** @type {?} */ elementDef = /** @type {?} */ ((/** @type {?} */ ((nodeDef.parent)).parent));\n newValues = calcQueryValues(view, elementDef.nodeIndex, elementDef.nodeIndex + elementDef.childCount, /** @type {?} */ ((nodeDef.query)), []);\n directiveInstance = asProviderData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).instance;\n }\n else if (nodeDef.flags & 134217728 /* TypeViewQuery */) {\n newValues = calcQueryValues(view, 0, view.def.nodes.length - 1, /** @type {?} */ ((nodeDef.query)), []);\n directiveInstance = view.component;\n }\n queryList.reset(newValues);\n var /** @type {?} */ bindings = /** @type {?} */ ((nodeDef.query)).bindings;\n var /** @type {?} */ notify = false;\n for (var /** @type {?} */ i = 0; i < bindings.length; i++) {\n var /** @type {?} */ binding = bindings[i];\n var /** @type {?} */ boundValue = void 0;\n switch (binding.bindingType) {\n case 0 /* First */:\n boundValue = queryList.first;\n break;\n case 1 /* All */:\n boundValue = queryList;\n notify = true;\n break;\n }\n directiveInstance[binding.propName] = boundValue;\n }\n if (notify) {\n queryList.notifyOnChanges();\n }\n}\n/**\n * @param {?} view\n * @param {?} startIndex\n * @param {?} endIndex\n * @param {?} queryDef\n * @param {?} values\n * @return {?}\n */\nfunction calcQueryValues(view, startIndex, endIndex, queryDef, values) {\n for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n var /** @type {?} */ valueType = nodeDef.matchedQueries[queryDef.id];\n if (valueType != null) {\n values.push(getQueryValue(view, nodeDef, valueType));\n }\n if (nodeDef.flags & 1 /* TypeElement */ && /** @type {?} */ ((nodeDef.element)).template &&\n (/** @type {?} */ ((/** @type {?} */ ((nodeDef.element)).template)).nodeMatchedQueries & queryDef.filterId) ===\n queryDef.filterId) {\n var /** @type {?} */ elementData = asElementData(view, i);\n // check embedded views that were attached at the place of their template,\n // but process child nodes first if some match the query (see issue #16568)\n if ((nodeDef.childMatchedQueries & queryDef.filterId) === queryDef.filterId) {\n calcQueryValues(view, i + 1, i + nodeDef.childCount, queryDef, values);\n i += nodeDef.childCount;\n }\n if (nodeDef.flags & 16777216 /* EmbeddedViews */) {\n var /** @type {?} */ embeddedViews = /** @type {?} */ ((elementData.viewContainer))._embeddedViews;\n for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) {\n var /** @type {?} */ embeddedView = embeddedViews[k];\n var /** @type {?} */ dvc = declaredViewContainer(embeddedView);\n if (dvc && dvc === elementData) {\n calcQueryValues(embeddedView, 0, embeddedView.def.nodes.length - 1, queryDef, values);\n }\n }\n }\n var /** @type {?} */ projectedViews = elementData.template._projectedViews;\n if (projectedViews) {\n for (var /** @type {?} */ k = 0; k < projectedViews.length; k++) {\n var /** @type {?} */ projectedView = projectedViews[k];\n calcQueryValues(projectedView, 0, projectedView.def.nodes.length - 1, queryDef, values);\n }\n }\n }\n if ((nodeDef.childMatchedQueries & queryDef.filterId) !== queryDef.filterId) {\n // if no child matches the query, skip the children.\n i += nodeDef.childCount;\n }\n }\n return values;\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} queryValueType\n * @return {?}\n */\nfunction getQueryValue(view, nodeDef, queryValueType) {\n if (queryValueType != null) {\n // a match\n switch (queryValueType) {\n case 1 /* RenderElement */:\n return asElementData(view, nodeDef.nodeIndex).renderElement;\n case 0 /* ElementRef */:\n return new ElementRef(asElementData(view, nodeDef.nodeIndex).renderElement);\n case 2 /* TemplateRef */:\n return asElementData(view, nodeDef.nodeIndex).template;\n case 3 /* ViewContainerRef */:\n return asElementData(view, nodeDef.nodeIndex).viewContainer;\n case 4 /* Provider */:\n return asProviderData(view, nodeDef.nodeIndex).instance;\n }\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} ngContentIndex\n * @param {?} index\n * @return {?}\n */\nfunction ngContentDef(ngContentIndex, index) {\n return {\n // will bet set by the view definition\n nodeIndex: -1,\n parent: null,\n renderParent: null,\n bindingIndex: -1,\n outputIndex: -1,\n // regular values\n checkIndex: -1,\n flags: 8 /* TypeNgContent */,\n childFlags: 0,\n directChildFlags: 0,\n childMatchedQueries: 0,\n matchedQueries: {},\n matchedQueryIds: 0,\n references: {}, ngContentIndex: ngContentIndex,\n childCount: 0,\n bindings: [],\n bindingFlags: 0,\n outputs: [],\n element: null,\n provider: null,\n text: null,\n query: null,\n ngContent: { index: index }\n };\n}\n/**\n * @param {?} view\n * @param {?} renderHost\n * @param {?} def\n * @return {?}\n */\nfunction appendNgContent(view, renderHost, def) {\n var /** @type {?} */ parentEl = getParentRenderElement(view, renderHost, def);\n if (!parentEl) {\n // Nothing to do if there is no parent element.\n return;\n }\n var /** @type {?} */ ngContentIndex = /** @type {?} */ ((def.ngContent)).index;\n visitProjectedRenderNodes(view, ngContentIndex, 1 /* AppendChild */, parentEl, null, undefined);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} checkIndex\n * @param {?} argCount\n * @return {?}\n */\nfunction purePipeDef(checkIndex, argCount) {\n // argCount + 1 to include the pipe as first arg\n return _pureExpressionDef(128 /* TypePurePipe */, checkIndex, new Array(argCount + 1));\n}\n/**\n * @param {?} checkIndex\n * @param {?} argCount\n * @return {?}\n */\nfunction pureArrayDef(checkIndex, argCount) {\n return _pureExpressionDef(32 /* TypePureArray */, checkIndex, new Array(argCount));\n}\n/**\n * @param {?} checkIndex\n * @param {?} propToIndex\n * @return {?}\n */\nfunction pureObjectDef(checkIndex, propToIndex) {\n var /** @type {?} */ keys = Object.keys(propToIndex);\n var /** @type {?} */ nbKeys = keys.length;\n var /** @type {?} */ propertyNames = new Array(nbKeys);\n for (var /** @type {?} */ i = 0; i < nbKeys; i++) {\n var /** @type {?} */ key = keys[i];\n var /** @type {?} */ index = propToIndex[key];\n propertyNames[index] = key;\n }\n return _pureExpressionDef(64 /* TypePureObject */, checkIndex, propertyNames);\n}\n/**\n * @param {?} flags\n * @param {?} checkIndex\n * @param {?} propertyNames\n * @return {?}\n */\nfunction _pureExpressionDef(flags, checkIndex, propertyNames) {\n var /** @type {?} */ bindings = new Array(propertyNames.length);\n for (var /** @type {?} */ i = 0; i < propertyNames.length; i++) {\n var /** @type {?} */ prop = propertyNames[i];\n bindings[i] = {\n flags: 8 /* TypeProperty */,\n name: prop,\n ns: null,\n nonMinifiedName: prop,\n securityContext: null,\n suffix: null\n };\n }\n return {\n // will bet set by the view definition\n nodeIndex: -1,\n parent: null,\n renderParent: null,\n bindingIndex: -1,\n outputIndex: -1,\n // regular values\n checkIndex: checkIndex,\n flags: flags,\n childFlags: 0,\n directChildFlags: 0,\n childMatchedQueries: 0,\n matchedQueries: {},\n matchedQueryIds: 0,\n references: {},\n ngContentIndex: -1,\n childCount: 0, bindings: bindings,\n bindingFlags: calcBindingFlags(bindings),\n outputs: [],\n element: null,\n provider: null,\n text: null,\n query: null,\n ngContent: null\n };\n}\n/**\n * @param {?} view\n * @param {?} def\n * @return {?}\n */\nfunction createPureExpression(view, def) {\n return { value: undefined };\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} v0\n * @param {?} v1\n * @param {?} v2\n * @param {?} v3\n * @param {?} v4\n * @param {?} v5\n * @param {?} v6\n * @param {?} v7\n * @param {?} v8\n * @param {?} v9\n * @return {?}\n */\nfunction checkAndUpdatePureExpressionInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n var /** @type {?} */ bindings = def.bindings;\n var /** @type {?} */ changed = false;\n var /** @type {?} */ bindLen = bindings.length;\n if (bindLen > 0 && checkAndUpdateBinding(view, def, 0, v0))\n changed = true;\n if (bindLen > 1 && checkAndUpdateBinding(view, def, 1, v1))\n changed = true;\n if (bindLen > 2 && checkAndUpdateBinding(view, def, 2, v2))\n changed = true;\n if (bindLen > 3 && checkAndUpdateBinding(view, def, 3, v3))\n changed = true;\n if (bindLen > 4 && checkAndUpdateBinding(view, def, 4, v4))\n changed = true;\n if (bindLen > 5 && checkAndUpdateBinding(view, def, 5, v5))\n changed = true;\n if (bindLen > 6 && checkAndUpdateBinding(view, def, 6, v6))\n changed = true;\n if (bindLen > 7 && checkAndUpdateBinding(view, def, 7, v7))\n changed = true;\n if (bindLen > 8 && checkAndUpdateBinding(view, def, 8, v8))\n changed = true;\n if (bindLen > 9 && checkAndUpdateBinding(view, def, 9, v9))\n changed = true;\n if (changed) {\n var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex);\n var /** @type {?} */ value = void 0;\n switch (def.flags & 201347067 /* Types */) {\n case 32 /* TypePureArray */:\n value = new Array(bindings.length);\n if (bindLen > 0)\n value[0] = v0;\n if (bindLen > 1)\n value[1] = v1;\n if (bindLen > 2)\n value[2] = v2;\n if (bindLen > 3)\n value[3] = v3;\n if (bindLen > 4)\n value[4] = v4;\n if (bindLen > 5)\n value[5] = v5;\n if (bindLen > 6)\n value[6] = v6;\n if (bindLen > 7)\n value[7] = v7;\n if (bindLen > 8)\n value[8] = v8;\n if (bindLen > 9)\n value[9] = v9;\n break;\n case 64 /* TypePureObject */:\n value = {};\n if (bindLen > 0)\n value[/** @type {?} */ ((bindings[0].name))] = v0;\n if (bindLen > 1)\n value[/** @type {?} */ ((bindings[1].name))] = v1;\n if (bindLen > 2)\n value[/** @type {?} */ ((bindings[2].name))] = v2;\n if (bindLen > 3)\n value[/** @type {?} */ ((bindings[3].name))] = v3;\n if (bindLen > 4)\n value[/** @type {?} */ ((bindings[4].name))] = v4;\n if (bindLen > 5)\n value[/** @type {?} */ ((bindings[5].name))] = v5;\n if (bindLen > 6)\n value[/** @type {?} */ ((bindings[6].name))] = v6;\n if (bindLen > 7)\n value[/** @type {?} */ ((bindings[7].name))] = v7;\n if (bindLen > 8)\n value[/** @type {?} */ ((bindings[8].name))] = v8;\n if (bindLen > 9)\n value[/** @type {?} */ ((bindings[9].name))] = v9;\n break;\n case 128 /* TypePurePipe */:\n var /** @type {?} */ pipe = v0;\n switch (bindLen) {\n case 1:\n value = pipe.transform(v0);\n break;\n case 2:\n value = pipe.transform(v1);\n break;\n case 3:\n value = pipe.transform(v1, v2);\n break;\n case 4:\n value = pipe.transform(v1, v2, v3);\n break;\n case 5:\n value = pipe.transform(v1, v2, v3, v4);\n break;\n case 6:\n value = pipe.transform(v1, v2, v3, v4, v5);\n break;\n case 7:\n value = pipe.transform(v1, v2, v3, v4, v5, v6);\n break;\n case 8:\n value = pipe.transform(v1, v2, v3, v4, v5, v6, v7);\n break;\n case 9:\n value = pipe.transform(v1, v2, v3, v4, v5, v6, v7, v8);\n break;\n case 10:\n value = pipe.transform(v1, v2, v3, v4, v5, v6, v7, v8, v9);\n break;\n }\n break;\n }\n data.value = value;\n }\n return changed;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} values\n * @return {?}\n */\nfunction checkAndUpdatePureExpressionDynamic(view, def, values) {\n var /** @type {?} */ bindings = def.bindings;\n var /** @type {?} */ changed = false;\n for (var /** @type {?} */ i = 0; i < values.length; i++) {\n // Note: We need to loop over all values, so that\n // the old values are updates as well!\n if (checkAndUpdateBinding(view, def, i, values[i])) {\n changed = true;\n }\n }\n if (changed) {\n var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex);\n var /** @type {?} */ value = void 0;\n switch (def.flags & 201347067 /* Types */) {\n case 32 /* TypePureArray */:\n value = values;\n break;\n case 64 /* TypePureObject */:\n value = {};\n for (var /** @type {?} */ i = 0; i < values.length; i++) {\n value[/** @type {?} */ ((bindings[i].name))] = values[i];\n }\n break;\n case 128 /* TypePurePipe */:\n var /** @type {?} */ pipe = values[0];\n var /** @type {?} */ params = values.slice(1);\n value = pipe.transform.apply(pipe, params);\n break;\n }\n data.value = value;\n }\n return changed;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} checkIndex\n * @param {?} ngContentIndex\n * @param {?} staticText\n * @return {?}\n */\nfunction textDef(checkIndex, ngContentIndex, staticText) {\n var /** @type {?} */ bindings = new Array(staticText.length - 1);\n for (var /** @type {?} */ i = 1; i < staticText.length; i++) {\n bindings[i - 1] = {\n flags: 8 /* TypeProperty */,\n name: null,\n ns: null,\n nonMinifiedName: null,\n securityContext: null,\n suffix: staticText[i],\n };\n }\n return {\n // will bet set by the view definition\n nodeIndex: -1,\n parent: null,\n renderParent: null,\n bindingIndex: -1,\n outputIndex: -1,\n // regular values\n checkIndex: checkIndex,\n flags: 2 /* TypeText */,\n childFlags: 0,\n directChildFlags: 0,\n childMatchedQueries: 0,\n matchedQueries: {},\n matchedQueryIds: 0,\n references: {}, ngContentIndex: ngContentIndex,\n childCount: 0, bindings: bindings,\n bindingFlags: 8 /* TypeProperty */,\n outputs: [],\n element: null,\n provider: null,\n text: { prefix: staticText[0] },\n query: null,\n ngContent: null,\n };\n}\n/**\n * @param {?} view\n * @param {?} renderHost\n * @param {?} def\n * @return {?}\n */\nfunction createText(view, renderHost, def) {\n var /** @type {?} */ renderNode$$1;\n var /** @type {?} */ renderer = view.renderer;\n renderNode$$1 = renderer.createText(/** @type {?} */ ((def.text)).prefix);\n var /** @type {?} */ parentEl = getParentRenderElement(view, renderHost, def);\n if (parentEl) {\n renderer.appendChild(parentEl, renderNode$$1);\n }\n return { renderText: renderNode$$1 };\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} v0\n * @param {?} v1\n * @param {?} v2\n * @param {?} v3\n * @param {?} v4\n * @param {?} v5\n * @param {?} v6\n * @param {?} v7\n * @param {?} v8\n * @param {?} v9\n * @return {?}\n */\nfunction checkAndUpdateTextInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n var /** @type {?} */ changed = false;\n var /** @type {?} */ bindings = def.bindings;\n var /** @type {?} */ bindLen = bindings.length;\n if (bindLen > 0 && checkAndUpdateBinding(view, def, 0, v0))\n changed = true;\n if (bindLen > 1 && checkAndUpdateBinding(view, def, 1, v1))\n changed = true;\n if (bindLen > 2 && checkAndUpdateBinding(view, def, 2, v2))\n changed = true;\n if (bindLen > 3 && checkAndUpdateBinding(view, def, 3, v3))\n changed = true;\n if (bindLen > 4 && checkAndUpdateBinding(view, def, 4, v4))\n changed = true;\n if (bindLen > 5 && checkAndUpdateBinding(view, def, 5, v5))\n changed = true;\n if (bindLen > 6 && checkAndUpdateBinding(view, def, 6, v6))\n changed = true;\n if (bindLen > 7 && checkAndUpdateBinding(view, def, 7, v7))\n changed = true;\n if (bindLen > 8 && checkAndUpdateBinding(view, def, 8, v8))\n changed = true;\n if (bindLen > 9 && checkAndUpdateBinding(view, def, 9, v9))\n changed = true;\n if (changed) {\n var /** @type {?} */ value = /** @type {?} */ ((def.text)).prefix;\n if (bindLen > 0)\n value += _addInterpolationPart(v0, bindings[0]);\n if (bindLen > 1)\n value += _addInterpolationPart(v1, bindings[1]);\n if (bindLen > 2)\n value += _addInterpolationPart(v2, bindings[2]);\n if (bindLen > 3)\n value += _addInterpolationPart(v3, bindings[3]);\n if (bindLen > 4)\n value += _addInterpolationPart(v4, bindings[4]);\n if (bindLen > 5)\n value += _addInterpolationPart(v5, bindings[5]);\n if (bindLen > 6)\n value += _addInterpolationPart(v6, bindings[6]);\n if (bindLen > 7)\n value += _addInterpolationPart(v7, bindings[7]);\n if (bindLen > 8)\n value += _addInterpolationPart(v8, bindings[8]);\n if (bindLen > 9)\n value += _addInterpolationPart(v9, bindings[9]);\n var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText;\n view.renderer.setValue(renderNode$$1, value);\n }\n return changed;\n}\n/**\n * @param {?} view\n * @param {?} def\n * @param {?} values\n * @return {?}\n */\nfunction checkAndUpdateTextDynamic(view, def, values) {\n var /** @type {?} */ bindings = def.bindings;\n var /** @type {?} */ changed = false;\n for (var /** @type {?} */ i = 0; i < values.length; i++) {\n // Note: We need to loop over all values, so that\n // the old values are updates as well!\n if (checkAndUpdateBinding(view, def, i, values[i])) {\n changed = true;\n }\n }\n if (changed) {\n var /** @type {?} */ value = '';\n for (var /** @type {?} */ i = 0; i < values.length; i++) {\n value = value + _addInterpolationPart(values[i], bindings[i]);\n }\n value = /** @type {?} */ ((def.text)).prefix + value;\n var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText;\n view.renderer.setValue(renderNode$$1, value);\n }\n return changed;\n}\n/**\n * @param {?} value\n * @param {?} binding\n * @return {?}\n */\nfunction _addInterpolationPart(value, binding) {\n var /** @type {?} */ valueStr = value != null ? value.toString() : '';\n return valueStr + binding.suffix;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} flags\n * @param {?} nodes\n * @param {?=} updateDirectives\n * @param {?=} updateRenderer\n * @return {?}\n */\nfunction viewDef(flags, nodes, updateDirectives, updateRenderer) {\n // clone nodes and set auto calculated values\n var /** @type {?} */ viewBindingCount = 0;\n var /** @type {?} */ viewDisposableCount = 0;\n var /** @type {?} */ viewNodeFlags = 0;\n var /** @type {?} */ viewRootNodeFlags = 0;\n var /** @type {?} */ viewMatchedQueries = 0;\n var /** @type {?} */ currentParent = null;\n var /** @type {?} */ currentRenderParent = null;\n var /** @type {?} */ currentElementHasPublicProviders = false;\n var /** @type {?} */ currentElementHasPrivateProviders = false;\n var /** @type {?} */ lastRenderRootNode = null;\n for (var /** @type {?} */ i = 0; i < nodes.length; i++) {\n var /** @type {?} */ node = nodes[i];\n node.nodeIndex = i;\n node.parent = currentParent;\n node.bindingIndex = viewBindingCount;\n node.outputIndex = viewDisposableCount;\n node.renderParent = currentRenderParent;\n viewNodeFlags |= node.flags;\n viewMatchedQueries |= node.matchedQueryIds;\n if (node.element) {\n var /** @type {?} */ elDef = node.element;\n elDef.publicProviders =\n currentParent ? /** @type {?} */ ((currentParent.element)).publicProviders : Object.create(null);\n elDef.allProviders = elDef.publicProviders;\n // Note: We assume that all providers of an element are before any child element!\n currentElementHasPublicProviders = false;\n currentElementHasPrivateProviders = false;\n if (node.element.template) {\n viewMatchedQueries |= node.element.template.nodeMatchedQueries;\n }\n }\n validateNode(currentParent, node, nodes.length);\n viewBindingCount += node.bindings.length;\n viewDisposableCount += node.outputs.length;\n if (!currentRenderParent && (node.flags & 3 /* CatRenderNode */)) {\n lastRenderRootNode = node;\n }\n if (node.flags & 20224 /* CatProvider */) {\n if (!currentElementHasPublicProviders) {\n currentElementHasPublicProviders = true; /** @type {?} */\n ((/** @type {?} */ ((currentParent)).element)).publicProviders = Object.create(/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders); /** @type {?} */\n ((/** @type {?} */ ((currentParent)).element)).allProviders = /** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders;\n }\n var /** @type {?} */ isPrivateService = (node.flags & 8192 /* PrivateProvider */) !== 0;\n var /** @type {?} */ isComponent = (node.flags & 32768 /* Component */) !== 0;\n if (!isPrivateService || isComponent) {\n /** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders))[tokenKey(/** @type {?} */ ((node.provider)).token)] = node;\n }\n else {\n if (!currentElementHasPrivateProviders) {\n currentElementHasPrivateProviders = true; /** @type {?} */\n ((/** @type {?} */ ((currentParent)).element)).allProviders = Object.create(/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).publicProviders);\n } /** @type {?} */\n ((/** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).allProviders))[tokenKey(/** @type {?} */ ((node.provider)).token)] = node;\n }\n if (isComponent) {\n /** @type {?} */ ((/** @type {?} */ ((currentParent)).element)).componentProvider = node;\n }\n }\n if (currentParent) {\n currentParent.childFlags |= node.flags;\n currentParent.directChildFlags |= node.flags;\n currentParent.childMatchedQueries |= node.matchedQueryIds;\n if (node.element && node.element.template) {\n currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries;\n }\n }\n else {\n viewRootNodeFlags |= node.flags;\n }\n if (node.childCount > 0) {\n currentParent = node;\n if (!isNgContainer(node)) {\n currentRenderParent = node;\n }\n }\n else {\n // When the current node has no children, check if it is the last children of its parent.\n // When it is, propagate the flags up.\n // The loop is required because an element could be the last transitive children of several\n // elements. We loop to either the root or the highest opened element (= with remaining\n // children)\n while (currentParent && i === currentParent.nodeIndex + currentParent.childCount) {\n var /** @type {?} */ newParent = currentParent.parent;\n if (newParent) {\n newParent.childFlags |= currentParent.childFlags;\n newParent.childMatchedQueries |= currentParent.childMatchedQueries;\n }\n currentParent = newParent;\n // We also need to update the render parent & account for ng-container\n if (currentParent && isNgContainer(currentParent)) {\n currentRenderParent = currentParent.renderParent;\n }\n else {\n currentRenderParent = currentParent;\n }\n }\n }\n }\n var /** @type {?} */ handleEvent = function (view, nodeIndex, eventName, event) { return ((/** @type {?} */ ((nodes[nodeIndex].element)).handleEvent))(view, eventName, event); };\n return {\n // Will be filled later...\n factory: null,\n nodeFlags: viewNodeFlags,\n rootNodeFlags: viewRootNodeFlags,\n nodeMatchedQueries: viewMatchedQueries, flags: flags,\n nodes: nodes,\n updateDirectives: updateDirectives || NOOP,\n updateRenderer: updateRenderer || NOOP, handleEvent: handleEvent,\n bindingCount: viewBindingCount,\n outputCount: viewDisposableCount, lastRenderRootNode: lastRenderRootNode\n };\n}\n/**\n * @param {?} node\n * @return {?}\n */\nfunction isNgContainer(node) {\n return (node.flags & 1 /* TypeElement */) !== 0 && /** @type {?} */ ((node.element)).name === null;\n}\n/**\n * @param {?} parent\n * @param {?} node\n * @param {?} nodeCount\n * @return {?}\n */\nfunction validateNode(parent, node, nodeCount) {\n var /** @type {?} */ template = node.element && node.element.template;\n if (template) {\n if (!template.lastRenderRootNode) {\n throw new Error(\"Illegal State: Embedded templates without nodes are not allowed!\");\n }\n if (template.lastRenderRootNode &&\n template.lastRenderRootNode.flags & 16777216 /* EmbeddedViews */) {\n throw new Error(\"Illegal State: Last root node of a template can't have embedded views, at index \" + node.nodeIndex + \"!\");\n }\n }\n if (node.flags & 20224 /* CatProvider */) {\n var /** @type {?} */ parentFlags = parent ? parent.flags : 0;\n if ((parentFlags & 1 /* TypeElement */) === 0) {\n throw new Error(\"Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index \" + node.nodeIndex + \"!\");\n }\n }\n if (node.query) {\n if (node.flags & 67108864 /* TypeContentQuery */ &&\n (!parent || (parent.flags & 16384 /* TypeDirective */) === 0)) {\n throw new Error(\"Illegal State: Content Query nodes need to be children of directives, at index \" + node.nodeIndex + \"!\");\n }\n if (node.flags & 134217728 /* TypeViewQuery */ && parent) {\n throw new Error(\"Illegal State: View Query nodes have to be top level nodes, at index \" + node.nodeIndex + \"!\");\n }\n }\n if (node.childCount) {\n var /** @type {?} */ parentEnd = parent ? parent.nodeIndex + parent.childCount : nodeCount - 1;\n if (node.nodeIndex <= parentEnd && node.nodeIndex + node.childCount > parentEnd) {\n throw new Error(\"Illegal State: childCount of node leads outside of parent, at index \" + node.nodeIndex + \"!\");\n }\n }\n}\n/**\n * @param {?} parent\n * @param {?} anchorDef\n * @param {?} viewDef\n * @param {?=} context\n * @return {?}\n */\nfunction createEmbeddedView(parent, anchorDef$$1, viewDef, context) {\n // embedded views are seen as siblings to the anchor, so we need\n // to get the parent of the anchor and use it as parentIndex.\n var /** @type {?} */ view = createView(parent.root, parent.renderer, parent, anchorDef$$1, viewDef);\n initView(view, parent.component, context);\n createViewNodes(view);\n return view;\n}\n/**\n * @param {?} root\n * @param {?} def\n * @param {?=} context\n * @return {?}\n */\nfunction createRootView(root, def, context) {\n var /** @type {?} */ view = createView(root, root.renderer, null, null, def);\n initView(view, context, context);\n createViewNodes(view);\n return view;\n}\n/**\n * @param {?} parentView\n * @param {?} nodeDef\n * @param {?} viewDef\n * @param {?} hostElement\n * @return {?}\n */\nfunction createComponentView(parentView, nodeDef, viewDef, hostElement) {\n var /** @type {?} */ rendererType = /** @type {?} */ ((nodeDef.element)).componentRendererType;\n var /** @type {?} */ compRenderer;\n if (!rendererType) {\n compRenderer = parentView.root.renderer;\n }\n else {\n compRenderer = parentView.root.rendererFactory.createRenderer(hostElement, rendererType);\n }\n return createView(parentView.root, compRenderer, parentView, /** @type {?} */ ((nodeDef.element)).componentProvider, viewDef);\n}\n/**\n * @param {?} root\n * @param {?} renderer\n * @param {?} parent\n * @param {?} parentNodeDef\n * @param {?} def\n * @return {?}\n */\nfunction createView(root, renderer, parent, parentNodeDef, def) {\n var /** @type {?} */ nodes = new Array(def.nodes.length);\n var /** @type {?} */ disposables = def.outputCount ? new Array(def.outputCount) : null;\n var /** @type {?} */ view = {\n def: def,\n parent: parent,\n viewContainerParent: null, parentNodeDef: parentNodeDef,\n context: null,\n component: null, nodes: nodes,\n state: 13 /* CatInit */, root: root, renderer: renderer,\n oldValues: new Array(def.bindingCount), disposables: disposables,\n initIndex: -1\n };\n return view;\n}\n/**\n * @param {?} view\n * @param {?} component\n * @param {?} context\n * @return {?}\n */\nfunction initView(view, component, context) {\n view.component = component;\n view.context = context;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction createViewNodes(view) {\n var /** @type {?} */ renderHost;\n if (isComponentView(view)) {\n var /** @type {?} */ hostDef = view.parentNodeDef;\n renderHost = asElementData(/** @type {?} */ ((view.parent)), /** @type {?} */ ((/** @type {?} */ ((hostDef)).parent)).nodeIndex).renderElement;\n }\n var /** @type {?} */ def = view.def;\n var /** @type {?} */ nodes = view.nodes;\n for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = def.nodes[i];\n Services.setCurrentNode(view, i);\n var /** @type {?} */ nodeData = void 0;\n switch (nodeDef.flags & 201347067 /* Types */) {\n case 1 /* TypeElement */:\n var /** @type {?} */ el = /** @type {?} */ (createElement(view, renderHost, nodeDef));\n var /** @type {?} */ componentView = /** @type {?} */ ((undefined));\n if (nodeDef.flags & 33554432 /* ComponentView */) {\n var /** @type {?} */ compViewDef = resolveDefinition(/** @type {?} */ ((/** @type {?} */ ((nodeDef.element)).componentView)));\n componentView = Services.createComponentView(view, nodeDef, compViewDef, el);\n }\n listenToElementOutputs(view, componentView, nodeDef, el);\n nodeData = /** @type {?} */ ({\n renderElement: el,\n componentView: componentView,\n viewContainer: null,\n template: /** @type {?} */ ((nodeDef.element)).template ? createTemplateData(view, nodeDef) : undefined\n });\n if (nodeDef.flags & 16777216 /* EmbeddedViews */) {\n nodeData.viewContainer = createViewContainerData(view, nodeDef, nodeData);\n }\n break;\n case 2 /* TypeText */:\n nodeData = /** @type {?} */ (createText(view, renderHost, nodeDef));\n break;\n case 512 /* TypeClassProvider */:\n case 1024 /* TypeFactoryProvider */:\n case 2048 /* TypeUseExistingProvider */:\n case 256 /* TypeValueProvider */: {\n nodeData = nodes[i];\n if (!nodeData && !(nodeDef.flags & 4096 /* LazyProvider */)) {\n var /** @type {?} */ instance = createProviderInstance(view, nodeDef);\n nodeData = /** @type {?} */ ({ instance: instance });\n }\n break;\n }\n case 16 /* TypePipe */: {\n var /** @type {?} */ instance = createPipeInstance(view, nodeDef);\n nodeData = /** @type {?} */ ({ instance: instance });\n break;\n }\n case 16384 /* TypeDirective */: {\n nodeData = nodes[i];\n if (!nodeData) {\n var /** @type {?} */ instance = createDirectiveInstance(view, nodeDef);\n nodeData = /** @type {?} */ ({ instance: instance });\n }\n if (nodeDef.flags & 32768 /* Component */) {\n var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).componentView;\n initView(compView, nodeData.instance, nodeData.instance);\n }\n break;\n }\n case 32 /* TypePureArray */:\n case 64 /* TypePureObject */:\n case 128 /* TypePurePipe */:\n nodeData = /** @type {?} */ (createPureExpression(view, nodeDef));\n break;\n case 67108864 /* TypeContentQuery */:\n case 134217728 /* TypeViewQuery */:\n nodeData = /** @type {?} */ (createQuery());\n break;\n case 8 /* TypeNgContent */:\n appendNgContent(view, renderHost, nodeDef);\n // no runtime data needed for NgContent...\n nodeData = undefined;\n break;\n }\n nodes[i] = nodeData;\n }\n // Create the ViewData.nodes of component views after we created everything else,\n // so that e.g. ng-content works\n execComponentViewsAction(view, ViewAction.CreateViewNodes);\n // fill static content and view queries\n execQueriesAction(view, 67108864 /* TypeContentQuery */ | 134217728 /* TypeViewQuery */, 268435456 /* StaticQuery */, 0 /* CheckAndUpdate */);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction checkNoChangesView(view) {\n markProjectedViewsForCheck(view);\n Services.updateDirectives(view, 1 /* CheckNoChanges */);\n execEmbeddedViewsAction(view, ViewAction.CheckNoChanges);\n Services.updateRenderer(view, 1 /* CheckNoChanges */);\n execComponentViewsAction(view, ViewAction.CheckNoChanges);\n // Note: We don't check queries for changes as we didn't do this in v2.x.\n // TODO(tbosch): investigate if we can enable the check again in v5.x with a nicer error message.\n view.state &= ~(64 /* CheckProjectedViews */ | 32 /* CheckProjectedView */);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction checkAndUpdateView(view) {\n if (view.state & 1 /* BeforeFirstCheck */) {\n view.state &= ~1 /* BeforeFirstCheck */;\n view.state |= 2 /* FirstCheck */;\n }\n else {\n view.state &= ~2 /* FirstCheck */;\n }\n shiftInitState(view, 0 /* InitState_BeforeInit */, 256 /* InitState_CallingOnInit */);\n markProjectedViewsForCheck(view);\n Services.updateDirectives(view, 0 /* CheckAndUpdate */);\n execEmbeddedViewsAction(view, ViewAction.CheckAndUpdate);\n execQueriesAction(view, 67108864 /* TypeContentQuery */, 536870912 /* DynamicQuery */, 0 /* CheckAndUpdate */);\n var /** @type {?} */ callInit = shiftInitState(view, 256 /* InitState_CallingOnInit */, 512 /* InitState_CallingAfterContentInit */);\n callLifecycleHooksChildrenFirst(view, 2097152 /* AfterContentChecked */ | (callInit ? 1048576 /* AfterContentInit */ : 0));\n Services.updateRenderer(view, 0 /* CheckAndUpdate */);\n execComponentViewsAction(view, ViewAction.CheckAndUpdate);\n execQueriesAction(view, 134217728 /* TypeViewQuery */, 536870912 /* DynamicQuery */, 0 /* CheckAndUpdate */);\n callInit = shiftInitState(view, 512 /* InitState_CallingAfterContentInit */, 768 /* InitState_CallingAfterViewInit */);\n callLifecycleHooksChildrenFirst(view, 8388608 /* AfterViewChecked */ | (callInit ? 4194304 /* AfterViewInit */ : 0));\n if (view.def.flags & 2 /* OnPush */) {\n view.state &= ~8 /* ChecksEnabled */;\n }\n view.state &= ~(64 /* CheckProjectedViews */ | 32 /* CheckProjectedView */);\n shiftInitState(view, 768 /* InitState_CallingAfterViewInit */, 1024 /* InitState_AfterInit */);\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} argStyle\n * @param {?=} v0\n * @param {?=} v1\n * @param {?=} v2\n * @param {?=} v3\n * @param {?=} v4\n * @param {?=} v5\n * @param {?=} v6\n * @param {?=} v7\n * @param {?=} v8\n * @param {?=} v9\n * @return {?}\n */\nfunction checkAndUpdateNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n if (argStyle === 0 /* Inline */) {\n return checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n }\n else {\n return checkAndUpdateNodeDynamic(view, nodeDef, v0);\n }\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction markProjectedViewsForCheck(view) {\n var /** @type {?} */ def = view.def;\n if (!(def.nodeFlags & 4 /* ProjectedTemplate */)) {\n return;\n }\n for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = def.nodes[i];\n if (nodeDef.flags & 4 /* ProjectedTemplate */) {\n var /** @type {?} */ projectedViews = asElementData(view, i).template._projectedViews;\n if (projectedViews) {\n for (var /** @type {?} */ i_1 = 0; i_1 < projectedViews.length; i_1++) {\n var /** @type {?} */ projectedView = projectedViews[i_1];\n projectedView.state |= 32 /* CheckProjectedView */;\n markParentViewsForCheckProjectedViews(projectedView, view);\n }\n }\n }\n else if ((nodeDef.childFlags & 4 /* ProjectedTemplate */) === 0) {\n // a parent with leafs\n // no child is a component,\n // then skip the children\n i += nodeDef.childCount;\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?=} v0\n * @param {?=} v1\n * @param {?=} v2\n * @param {?=} v3\n * @param {?=} v4\n * @param {?=} v5\n * @param {?=} v6\n * @param {?=} v7\n * @param {?=} v8\n * @param {?=} v9\n * @return {?}\n */\nfunction checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n switch (nodeDef.flags & 201347067 /* Types */) {\n case 1 /* TypeElement */:\n return checkAndUpdateElementInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n case 2 /* TypeText */:\n return checkAndUpdateTextInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n case 16384 /* TypeDirective */:\n return checkAndUpdateDirectiveInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n case 32 /* TypePureArray */:\n case 64 /* TypePureObject */:\n case 128 /* TypePurePipe */:\n return checkAndUpdatePureExpressionInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n default:\n throw 'unreachable';\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} values\n * @return {?}\n */\nfunction checkAndUpdateNodeDynamic(view, nodeDef, values) {\n switch (nodeDef.flags & 201347067 /* Types */) {\n case 1 /* TypeElement */:\n return checkAndUpdateElementDynamic(view, nodeDef, values);\n case 2 /* TypeText */:\n return checkAndUpdateTextDynamic(view, nodeDef, values);\n case 16384 /* TypeDirective */:\n return checkAndUpdateDirectiveDynamic(view, nodeDef, values);\n case 32 /* TypePureArray */:\n case 64 /* TypePureObject */:\n case 128 /* TypePurePipe */:\n return checkAndUpdatePureExpressionDynamic(view, nodeDef, values);\n default:\n throw 'unreachable';\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} argStyle\n * @param {?=} v0\n * @param {?=} v1\n * @param {?=} v2\n * @param {?=} v3\n * @param {?=} v4\n * @param {?=} v5\n * @param {?=} v6\n * @param {?=} v7\n * @param {?=} v8\n * @param {?=} v9\n * @return {?}\n */\nfunction checkNoChangesNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n if (argStyle === 0 /* Inline */) {\n checkNoChangesNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n }\n else {\n checkNoChangesNodeDynamic(view, nodeDef, v0);\n }\n // Returning false is ok here as we would have thrown in case of a change.\n return false;\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} v0\n * @param {?} v1\n * @param {?} v2\n * @param {?} v3\n * @param {?} v4\n * @param {?} v5\n * @param {?} v6\n * @param {?} v7\n * @param {?} v8\n * @param {?} v9\n * @return {?}\n */\nfunction checkNoChangesNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n var /** @type {?} */ bindLen = nodeDef.bindings.length;\n if (bindLen > 0)\n checkBindingNoChanges(view, nodeDef, 0, v0);\n if (bindLen > 1)\n checkBindingNoChanges(view, nodeDef, 1, v1);\n if (bindLen > 2)\n checkBindingNoChanges(view, nodeDef, 2, v2);\n if (bindLen > 3)\n checkBindingNoChanges(view, nodeDef, 3, v3);\n if (bindLen > 4)\n checkBindingNoChanges(view, nodeDef, 4, v4);\n if (bindLen > 5)\n checkBindingNoChanges(view, nodeDef, 5, v5);\n if (bindLen > 6)\n checkBindingNoChanges(view, nodeDef, 6, v6);\n if (bindLen > 7)\n checkBindingNoChanges(view, nodeDef, 7, v7);\n if (bindLen > 8)\n checkBindingNoChanges(view, nodeDef, 8, v8);\n if (bindLen > 9)\n checkBindingNoChanges(view, nodeDef, 9, v9);\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} values\n * @return {?}\n */\nfunction checkNoChangesNodeDynamic(view, nodeDef, values) {\n for (var /** @type {?} */ i = 0; i < values.length; i++) {\n checkBindingNoChanges(view, nodeDef, i, values[i]);\n }\n}\n/**\n * Workaround https://github.com/angular/tsickle/issues/497\n * @suppress {misplacedTypeAnnotation}\n * @param {?} view\n * @param {?} nodeDef\n * @return {?}\n */\nfunction checkNoChangesQuery(view, nodeDef) {\n var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex);\n if (queryList.dirty) {\n throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, nodeDef.nodeIndex), \"Query \" + (/** @type {?} */ ((nodeDef.query))).id + \" not dirty\", \"Query \" + (/** @type {?} */ ((nodeDef.query))).id + \" dirty\", (view.state & 1 /* BeforeFirstCheck */) !== 0);\n }\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction destroyView(view) {\n if (view.state & 128 /* Destroyed */) {\n return;\n }\n execEmbeddedViewsAction(view, ViewAction.Destroy);\n execComponentViewsAction(view, ViewAction.Destroy);\n callLifecycleHooksChildrenFirst(view, 131072 /* OnDestroy */);\n if (view.disposables) {\n for (var /** @type {?} */ i = 0; i < view.disposables.length; i++) {\n view.disposables[i]();\n }\n }\n detachProjectedView(view);\n if (view.renderer.destroyNode) {\n destroyViewNodes(view);\n }\n if (isComponentView(view)) {\n view.renderer.destroy();\n }\n view.state |= 128 /* Destroyed */;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction destroyViewNodes(view) {\n var /** @type {?} */ len = view.def.nodes.length;\n for (var /** @type {?} */ i = 0; i < len; i++) {\n var /** @type {?} */ def = view.def.nodes[i];\n if (def.flags & 1 /* TypeElement */) {\n /** @type {?} */ ((view.renderer.destroyNode))(asElementData(view, i).renderElement);\n }\n else if (def.flags & 2 /* TypeText */) {\n /** @type {?} */ ((view.renderer.destroyNode))(asTextData(view, i).renderText);\n }\n else if (def.flags & 67108864 /* TypeContentQuery */ || def.flags & 134217728 /* TypeViewQuery */) {\n asQueryList(view, i).destroy();\n }\n }\n}\n/** @enum {number} */\nvar ViewAction = {\n CreateViewNodes: 0,\n CheckNoChanges: 1,\n CheckNoChangesProjectedViews: 2,\n CheckAndUpdate: 3,\n CheckAndUpdateProjectedViews: 4,\n Destroy: 5,\n};\nViewAction[ViewAction.CreateViewNodes] = \"CreateViewNodes\";\nViewAction[ViewAction.CheckNoChanges] = \"CheckNoChanges\";\nViewAction[ViewAction.CheckNoChangesProjectedViews] = \"CheckNoChangesProjectedViews\";\nViewAction[ViewAction.CheckAndUpdate] = \"CheckAndUpdate\";\nViewAction[ViewAction.CheckAndUpdateProjectedViews] = \"CheckAndUpdateProjectedViews\";\nViewAction[ViewAction.Destroy] = \"Destroy\";\n/**\n * @param {?} view\n * @param {?} action\n * @return {?}\n */\nfunction execComponentViewsAction(view, action) {\n var /** @type {?} */ def = view.def;\n if (!(def.nodeFlags & 33554432 /* ComponentView */)) {\n return;\n }\n for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = def.nodes[i];\n if (nodeDef.flags & 33554432 /* ComponentView */) {\n // a leaf\n callViewAction(asElementData(view, i).componentView, action);\n }\n else if ((nodeDef.childFlags & 33554432 /* ComponentView */) === 0) {\n // a parent with leafs\n // no child is a component,\n // then skip the children\n i += nodeDef.childCount;\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} action\n * @return {?}\n */\nfunction execEmbeddedViewsAction(view, action) {\n var /** @type {?} */ def = view.def;\n if (!(def.nodeFlags & 16777216 /* EmbeddedViews */)) {\n return;\n }\n for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = def.nodes[i];\n if (nodeDef.flags & 16777216 /* EmbeddedViews */) {\n // a leaf\n var /** @type {?} */ embeddedViews = /** @type {?} */ ((asElementData(view, i).viewContainer))._embeddedViews;\n for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) {\n callViewAction(embeddedViews[k], action);\n }\n }\n else if ((nodeDef.childFlags & 16777216 /* EmbeddedViews */) === 0) {\n // a parent with leafs\n // no child is a component,\n // then skip the children\n i += nodeDef.childCount;\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} action\n * @return {?}\n */\nfunction callViewAction(view, action) {\n var /** @type {?} */ viewState = view.state;\n switch (action) {\n case ViewAction.CheckNoChanges:\n if ((viewState & 128 /* Destroyed */) === 0) {\n if ((viewState & 12 /* CatDetectChanges */) === 12 /* CatDetectChanges */) {\n checkNoChangesView(view);\n }\n else if (viewState & 64 /* CheckProjectedViews */) {\n execProjectedViewsAction(view, ViewAction.CheckNoChangesProjectedViews);\n }\n }\n break;\n case ViewAction.CheckNoChangesProjectedViews:\n if ((viewState & 128 /* Destroyed */) === 0) {\n if (viewState & 32 /* CheckProjectedView */) {\n checkNoChangesView(view);\n }\n else if (viewState & 64 /* CheckProjectedViews */) {\n execProjectedViewsAction(view, action);\n }\n }\n break;\n case ViewAction.CheckAndUpdate:\n if ((viewState & 128 /* Destroyed */) === 0) {\n if ((viewState & 12 /* CatDetectChanges */) === 12 /* CatDetectChanges */) {\n checkAndUpdateView(view);\n }\n else if (viewState & 64 /* CheckProjectedViews */) {\n execProjectedViewsAction(view, ViewAction.CheckAndUpdateProjectedViews);\n }\n }\n break;\n case ViewAction.CheckAndUpdateProjectedViews:\n if ((viewState & 128 /* Destroyed */) === 0) {\n if (viewState & 32 /* CheckProjectedView */) {\n checkAndUpdateView(view);\n }\n else if (viewState & 64 /* CheckProjectedViews */) {\n execProjectedViewsAction(view, action);\n }\n }\n break;\n case ViewAction.Destroy:\n // Note: destroyView recurses over all views,\n // so we don't need to special case projected views here.\n destroyView(view);\n break;\n case ViewAction.CreateViewNodes:\n createViewNodes(view);\n break;\n }\n}\n/**\n * @param {?} view\n * @param {?} action\n * @return {?}\n */\nfunction execProjectedViewsAction(view, action) {\n execEmbeddedViewsAction(view, action);\n execComponentViewsAction(view, action);\n}\n/**\n * @param {?} view\n * @param {?} queryFlags\n * @param {?} staticDynamicQueryFlag\n * @param {?} checkType\n * @return {?}\n */\nfunction execQueriesAction(view, queryFlags, staticDynamicQueryFlag, checkType) {\n if (!(view.def.nodeFlags & queryFlags) || !(view.def.nodeFlags & staticDynamicQueryFlag)) {\n return;\n }\n var /** @type {?} */ nodeCount = view.def.nodes.length;\n for (var /** @type {?} */ i = 0; i < nodeCount; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n if ((nodeDef.flags & queryFlags) && (nodeDef.flags & staticDynamicQueryFlag)) {\n Services.setCurrentNode(view, nodeDef.nodeIndex);\n switch (checkType) {\n case 0 /* CheckAndUpdate */:\n checkAndUpdateQuery(view, nodeDef);\n break;\n case 1 /* CheckNoChanges */:\n checkNoChangesQuery(view, nodeDef);\n break;\n }\n }\n if (!(nodeDef.childFlags & queryFlags) || !(nodeDef.childFlags & staticDynamicQueryFlag)) {\n // no child has a matching query\n // then skip the children\n i += nodeDef.childCount;\n }\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar initialized = false;\n/**\n * @return {?}\n */\nfunction initServicesIfNeeded() {\n if (initialized) {\n return;\n }\n initialized = true;\n var /** @type {?} */ services = isDevMode() ? createDebugServices() : createProdServices();\n Services.setCurrentNode = services.setCurrentNode;\n Services.createRootView = services.createRootView;\n Services.createEmbeddedView = services.createEmbeddedView;\n Services.createComponentView = services.createComponentView;\n Services.createNgModuleRef = services.createNgModuleRef;\n Services.overrideProvider = services.overrideProvider;\n Services.overrideComponentView = services.overrideComponentView;\n Services.clearOverrides = services.clearOverrides;\n Services.checkAndUpdateView = services.checkAndUpdateView;\n Services.checkNoChangesView = services.checkNoChangesView;\n Services.destroyView = services.destroyView;\n Services.resolveDep = resolveDep;\n Services.createDebugContext = services.createDebugContext;\n Services.handleEvent = services.handleEvent;\n Services.updateDirectives = services.updateDirectives;\n Services.updateRenderer = services.updateRenderer;\n Services.dirtyParentQueries = dirtyParentQueries;\n}\n/**\n * @return {?}\n */\nfunction createProdServices() {\n return {\n setCurrentNode: function () { },\n createRootView: createProdRootView,\n createEmbeddedView: createEmbeddedView,\n createComponentView: createComponentView,\n createNgModuleRef: createNgModuleRef,\n overrideProvider: NOOP,\n overrideComponentView: NOOP,\n clearOverrides: NOOP,\n checkAndUpdateView: checkAndUpdateView,\n checkNoChangesView: checkNoChangesView,\n destroyView: destroyView,\n createDebugContext: function (view, nodeIndex) { return new DebugContext_(view, nodeIndex); },\n handleEvent: function (view, nodeIndex, eventName, event) {\n return view.def.handleEvent(view, nodeIndex, eventName, event);\n },\n updateDirectives: function (view, checkType) {\n return view.def.updateDirectives(checkType === 0 /* CheckAndUpdate */ ? prodCheckAndUpdateNode :\n prodCheckNoChangesNode, view);\n },\n updateRenderer: function (view, checkType) {\n return view.def.updateRenderer(checkType === 0 /* CheckAndUpdate */ ? prodCheckAndUpdateNode :\n prodCheckNoChangesNode, view);\n },\n };\n}\n/**\n * @return {?}\n */\nfunction createDebugServices() {\n return {\n setCurrentNode: debugSetCurrentNode,\n createRootView: debugCreateRootView,\n createEmbeddedView: debugCreateEmbeddedView,\n createComponentView: debugCreateComponentView,\n createNgModuleRef: debugCreateNgModuleRef,\n overrideProvider: debugOverrideProvider,\n overrideComponentView: debugOverrideComponentView,\n clearOverrides: debugClearOverrides,\n checkAndUpdateView: debugCheckAndUpdateView,\n checkNoChangesView: debugCheckNoChangesView,\n destroyView: debugDestroyView,\n createDebugContext: function (view, nodeIndex) { return new DebugContext_(view, nodeIndex); },\n handleEvent: debugHandleEvent,\n updateDirectives: debugUpdateDirectives,\n updateRenderer: debugUpdateRenderer,\n };\n}\n/**\n * @param {?} elInjector\n * @param {?} projectableNodes\n * @param {?} rootSelectorOrNode\n * @param {?} def\n * @param {?} ngModule\n * @param {?=} context\n * @return {?}\n */\nfunction createProdRootView(elInjector, projectableNodes, rootSelectorOrNode, def, ngModule, context) {\n var /** @type {?} */ rendererFactory = ngModule.injector.get(RendererFactory2);\n return createRootView(createRootData(elInjector, ngModule, rendererFactory, projectableNodes, rootSelectorOrNode), def, context);\n}\n/**\n * @param {?} elInjector\n * @param {?} projectableNodes\n * @param {?} rootSelectorOrNode\n * @param {?} def\n * @param {?} ngModule\n * @param {?=} context\n * @return {?}\n */\nfunction debugCreateRootView(elInjector, projectableNodes, rootSelectorOrNode, def, ngModule, context) {\n var /** @type {?} */ rendererFactory = ngModule.injector.get(RendererFactory2);\n var /** @type {?} */ root = createRootData(elInjector, ngModule, new DebugRendererFactory2(rendererFactory), projectableNodes, rootSelectorOrNode);\n var /** @type {?} */ defWithOverride = applyProviderOverridesToView(def);\n return callWithDebugContext(DebugAction.create, createRootView, null, [root, defWithOverride, context]);\n}\n/**\n * @param {?} elInjector\n * @param {?} ngModule\n * @param {?} rendererFactory\n * @param {?} projectableNodes\n * @param {?} rootSelectorOrNode\n * @return {?}\n */\nfunction createRootData(elInjector, ngModule, rendererFactory, projectableNodes, rootSelectorOrNode) {\n var /** @type {?} */ sanitizer = ngModule.injector.get(Sanitizer);\n var /** @type {?} */ errorHandler = ngModule.injector.get(ErrorHandler);\n var /** @type {?} */ renderer = rendererFactory.createRenderer(null, null);\n return {\n ngModule: ngModule,\n injector: elInjector, projectableNodes: projectableNodes,\n selectorOrNode: rootSelectorOrNode, sanitizer: sanitizer, rendererFactory: rendererFactory, renderer: renderer, errorHandler: errorHandler\n };\n}\n/**\n * @param {?} parentView\n * @param {?} anchorDef\n * @param {?} viewDef\n * @param {?=} context\n * @return {?}\n */\nfunction debugCreateEmbeddedView(parentView, anchorDef, viewDef$$1, context) {\n var /** @type {?} */ defWithOverride = applyProviderOverridesToView(viewDef$$1);\n return callWithDebugContext(DebugAction.create, createEmbeddedView, null, [parentView, anchorDef, defWithOverride, context]);\n}\n/**\n * @param {?} parentView\n * @param {?} nodeDef\n * @param {?} viewDef\n * @param {?} hostElement\n * @return {?}\n */\nfunction debugCreateComponentView(parentView, nodeDef, viewDef$$1, hostElement) {\n var /** @type {?} */ overrideComponentView = viewDefOverrides.get(/** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ ((nodeDef.element)).componentProvider)).provider)).token);\n if (overrideComponentView) {\n viewDef$$1 = overrideComponentView;\n }\n else {\n viewDef$$1 = applyProviderOverridesToView(viewDef$$1);\n }\n return callWithDebugContext(DebugAction.create, createComponentView, null, [parentView, nodeDef, viewDef$$1, hostElement]);\n}\n/**\n * @param {?} moduleType\n * @param {?} parentInjector\n * @param {?} bootstrapComponents\n * @param {?} def\n * @return {?}\n */\nfunction debugCreateNgModuleRef(moduleType, parentInjector, bootstrapComponents, def) {\n var /** @type {?} */ defWithOverride = applyProviderOverridesToNgModule(def);\n return createNgModuleRef(moduleType, parentInjector, bootstrapComponents, defWithOverride);\n}\nvar providerOverrides = new Map();\nvar viewDefOverrides = new Map();\n/**\n * @param {?} override\n * @return {?}\n */\nfunction debugOverrideProvider(override) {\n providerOverrides.set(override.token, override);\n}\n/**\n * @param {?} comp\n * @param {?} compFactory\n * @return {?}\n */\nfunction debugOverrideComponentView(comp, compFactory) {\n var /** @type {?} */ hostViewDef = resolveDefinition(getComponentViewDefinitionFactory(compFactory));\n var /** @type {?} */ compViewDef = resolveDefinition(/** @type {?} */ ((/** @type {?} */ ((hostViewDef.nodes[0].element)).componentView)));\n viewDefOverrides.set(comp, compViewDef);\n}\n/**\n * @return {?}\n */\nfunction debugClearOverrides() {\n providerOverrides.clear();\n viewDefOverrides.clear();\n}\n/**\n * @param {?} def\n * @return {?}\n */\nfunction applyProviderOverridesToView(def) {\n if (providerOverrides.size === 0) {\n return def;\n }\n var /** @type {?} */ elementIndicesWithOverwrittenProviders = findElementIndicesWithOverwrittenProviders(def);\n if (elementIndicesWithOverwrittenProviders.length === 0) {\n return def;\n }\n // clone the whole view definition,\n // as it maintains references between the nodes that are hard to update.\n def = /** @type {?} */ ((def.factory))(function () { return NOOP; });\n for (var /** @type {?} */ i = 0; i < elementIndicesWithOverwrittenProviders.length; i++) {\n applyProviderOverridesToElement(def, elementIndicesWithOverwrittenProviders[i]);\n }\n return def;\n /**\n * @param {?} def\n * @return {?}\n */\n function findElementIndicesWithOverwrittenProviders(def) {\n var /** @type {?} */ elIndicesWithOverwrittenProviders = [];\n var /** @type {?} */ lastElementDef = null;\n for (var /** @type {?} */ i = 0; i < def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = def.nodes[i];\n if (nodeDef.flags & 1 /* TypeElement */) {\n lastElementDef = nodeDef;\n }\n if (lastElementDef && nodeDef.flags & 3840 /* CatProviderNoDirective */ &&\n providerOverrides.has(/** @type {?} */ ((nodeDef.provider)).token)) {\n elIndicesWithOverwrittenProviders.push(/** @type {?} */ ((lastElementDef)).nodeIndex);\n lastElementDef = null;\n }\n }\n return elIndicesWithOverwrittenProviders;\n }\n /**\n * @param {?} viewDef\n * @param {?} elIndex\n * @return {?}\n */\n function applyProviderOverridesToElement(viewDef$$1, elIndex) {\n for (var /** @type {?} */ i = elIndex + 1; i < viewDef$$1.nodes.length; i++) {\n var /** @type {?} */ nodeDef = viewDef$$1.nodes[i];\n if (nodeDef.flags & 1 /* TypeElement */) {\n // stop at the next element\n return;\n }\n if (nodeDef.flags & 3840 /* CatProviderNoDirective */) {\n var /** @type {?} */ provider = /** @type {?} */ ((nodeDef.provider));\n var /** @type {?} */ override = providerOverrides.get(provider.token);\n if (override) {\n nodeDef.flags = (nodeDef.flags & ~3840 /* CatProviderNoDirective */) | override.flags;\n provider.deps = splitDepsDsl(override.deps);\n provider.value = override.value;\n }\n }\n }\n }\n}\n/**\n * @param {?} def\n * @return {?}\n */\nfunction applyProviderOverridesToNgModule(def) {\n var _a = calcHasOverrides(def), hasOverrides = _a.hasOverrides, hasDeprecatedOverrides = _a.hasDeprecatedOverrides;\n if (!hasOverrides) {\n return def;\n }\n // clone the whole view definition,\n // as it maintains references between the nodes that are hard to update.\n def = /** @type {?} */ ((def.factory))(function () { return NOOP; });\n applyProviderOverrides(def);\n return def;\n /**\n * @param {?} def\n * @return {?}\n */\n function calcHasOverrides(def) {\n var /** @type {?} */ hasOverrides = false;\n var /** @type {?} */ hasDeprecatedOverrides = false;\n if (providerOverrides.size === 0) {\n return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides };\n }\n def.providers.forEach(function (node) {\n var /** @type {?} */ override = providerOverrides.get(node.token);\n if ((node.flags & 3840 /* CatProviderNoDirective */) && override) {\n hasOverrides = true;\n hasDeprecatedOverrides = hasDeprecatedOverrides || override.deprecatedBehavior;\n }\n });\n return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides };\n }\n /**\n * @param {?} def\n * @return {?}\n */\n function applyProviderOverrides(def) {\n for (var /** @type {?} */ i = 0; i < def.providers.length; i++) {\n var /** @type {?} */ provider = def.providers[i];\n if (hasDeprecatedOverrides) {\n // We had a bug where me made\n // all providers lazy. Keep this logic behind a flag\n // for migrating existing users.\n provider.flags |= 4096 /* LazyProvider */;\n }\n var /** @type {?} */ override = providerOverrides.get(provider.token);\n if (override) {\n provider.flags = (provider.flags & ~3840 /* CatProviderNoDirective */) | override.flags;\n provider.deps = splitDepsDsl(override.deps);\n provider.value = override.value;\n }\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} checkIndex\n * @param {?} argStyle\n * @param {?=} v0\n * @param {?=} v1\n * @param {?=} v2\n * @param {?=} v3\n * @param {?=} v4\n * @param {?=} v5\n * @param {?=} v6\n * @param {?=} v7\n * @param {?=} v8\n * @param {?=} v9\n * @return {?}\n */\nfunction prodCheckAndUpdateNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n var /** @type {?} */ nodeDef = view.def.nodes[checkIndex];\n checkAndUpdateNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n return (nodeDef.flags & 224 /* CatPureExpression */) ?\n asPureExpressionData(view, checkIndex).value :\n undefined;\n}\n/**\n * @param {?} view\n * @param {?} checkIndex\n * @param {?} argStyle\n * @param {?=} v0\n * @param {?=} v1\n * @param {?=} v2\n * @param {?=} v3\n * @param {?=} v4\n * @param {?=} v5\n * @param {?=} v6\n * @param {?=} v7\n * @param {?=} v8\n * @param {?=} v9\n * @return {?}\n */\nfunction prodCheckNoChangesNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {\n var /** @type {?} */ nodeDef = view.def.nodes[checkIndex];\n checkNoChangesNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);\n return (nodeDef.flags & 224 /* CatPureExpression */) ?\n asPureExpressionData(view, checkIndex).value :\n undefined;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction debugCheckAndUpdateView(view) {\n return callWithDebugContext(DebugAction.detectChanges, checkAndUpdateView, null, [view]);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction debugCheckNoChangesView(view) {\n return callWithDebugContext(DebugAction.checkNoChanges, checkNoChangesView, null, [view]);\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction debugDestroyView(view) {\n return callWithDebugContext(DebugAction.destroy, destroyView, null, [view]);\n}\n/** @enum {number} */\nvar DebugAction = {\n create: 0,\n detectChanges: 1,\n checkNoChanges: 2,\n destroy: 3,\n handleEvent: 4,\n};\nDebugAction[DebugAction.create] = \"create\";\nDebugAction[DebugAction.detectChanges] = \"detectChanges\";\nDebugAction[DebugAction.checkNoChanges] = \"checkNoChanges\";\nDebugAction[DebugAction.destroy] = \"destroy\";\nDebugAction[DebugAction.handleEvent] = \"handleEvent\";\nvar _currentAction;\nvar _currentView;\nvar _currentNodeIndex;\n/**\n * @param {?} view\n * @param {?} nodeIndex\n * @return {?}\n */\nfunction debugSetCurrentNode(view, nodeIndex) {\n _currentView = view;\n _currentNodeIndex = nodeIndex;\n}\n/**\n * @param {?} view\n * @param {?} nodeIndex\n * @param {?} eventName\n * @param {?} event\n * @return {?}\n */\nfunction debugHandleEvent(view, nodeIndex, eventName, event) {\n debugSetCurrentNode(view, nodeIndex);\n return callWithDebugContext(DebugAction.handleEvent, view.def.handleEvent, null, [view, nodeIndex, eventName, event]);\n}\n/**\n * @param {?} view\n * @param {?} checkType\n * @return {?}\n */\nfunction debugUpdateDirectives(view, checkType) {\n if (view.state & 128 /* Destroyed */) {\n throw viewDestroyedError(DebugAction[_currentAction]);\n }\n debugSetCurrentNode(view, nextDirectiveWithBinding(view, 0));\n return view.def.updateDirectives(debugCheckDirectivesFn, view);\n /**\n * @param {?} view\n * @param {?} nodeIndex\n * @param {?} argStyle\n * @param {...?} values\n * @return {?}\n */\n function debugCheckDirectivesFn(view, nodeIndex, argStyle) {\n var values = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n values[_i - 3] = arguments[_i];\n }\n var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex];\n if (checkType === 0 /* CheckAndUpdate */) {\n debugCheckAndUpdateNode(view, nodeDef, argStyle, values);\n }\n else {\n debugCheckNoChangesNode(view, nodeDef, argStyle, values);\n }\n if (nodeDef.flags & 16384 /* TypeDirective */) {\n debugSetCurrentNode(view, nextDirectiveWithBinding(view, nodeIndex));\n }\n return (nodeDef.flags & 224 /* CatPureExpression */) ?\n asPureExpressionData(view, nodeDef.nodeIndex).value :\n undefined;\n }\n}\n/**\n * @param {?} view\n * @param {?} checkType\n * @return {?}\n */\nfunction debugUpdateRenderer(view, checkType) {\n if (view.state & 128 /* Destroyed */) {\n throw viewDestroyedError(DebugAction[_currentAction]);\n }\n debugSetCurrentNode(view, nextRenderNodeWithBinding(view, 0));\n return view.def.updateRenderer(debugCheckRenderNodeFn, view);\n /**\n * @param {?} view\n * @param {?} nodeIndex\n * @param {?} argStyle\n * @param {...?} values\n * @return {?}\n */\n function debugCheckRenderNodeFn(view, nodeIndex, argStyle) {\n var values = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n values[_i - 3] = arguments[_i];\n }\n var /** @type {?} */ nodeDef = view.def.nodes[nodeIndex];\n if (checkType === 0 /* CheckAndUpdate */) {\n debugCheckAndUpdateNode(view, nodeDef, argStyle, values);\n }\n else {\n debugCheckNoChangesNode(view, nodeDef, argStyle, values);\n }\n if (nodeDef.flags & 3 /* CatRenderNode */) {\n debugSetCurrentNode(view, nextRenderNodeWithBinding(view, nodeIndex));\n }\n return (nodeDef.flags & 224 /* CatPureExpression */) ?\n asPureExpressionData(view, nodeDef.nodeIndex).value :\n undefined;\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} argStyle\n * @param {?} givenValues\n * @return {?}\n */\nfunction debugCheckAndUpdateNode(view, nodeDef, argStyle, givenValues) {\n var /** @type {?} */ changed = (/** @type {?} */ (checkAndUpdateNode)).apply(void 0, [view, nodeDef, argStyle].concat(givenValues));\n if (changed) {\n var /** @type {?} */ values = argStyle === 1 /* Dynamic */ ? givenValues[0] : givenValues;\n if (nodeDef.flags & 16384 /* TypeDirective */) {\n var /** @type {?} */ bindingValues = {};\n for (var /** @type {?} */ i = 0; i < nodeDef.bindings.length; i++) {\n var /** @type {?} */ binding = nodeDef.bindings[i];\n var /** @type {?} */ value = values[i];\n if (binding.flags & 8 /* TypeProperty */) {\n bindingValues[normalizeDebugBindingName(/** @type {?} */ ((binding.nonMinifiedName)))] =\n normalizeDebugBindingValue(value);\n }\n }\n var /** @type {?} */ elDef = /** @type {?} */ ((nodeDef.parent));\n var /** @type {?} */ el = asElementData(view, elDef.nodeIndex).renderElement;\n if (!/** @type {?} */ ((elDef.element)).name) {\n // a comment.\n view.renderer.setValue(el, \"bindings=\" + JSON.stringify(bindingValues, null, 2));\n }\n else {\n // a regular element.\n for (var /** @type {?} */ attr in bindingValues) {\n var /** @type {?} */ value = bindingValues[attr];\n if (value != null) {\n view.renderer.setAttribute(el, attr, value);\n }\n else {\n view.renderer.removeAttribute(el, attr);\n }\n }\n }\n }\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} argStyle\n * @param {?} values\n * @return {?}\n */\nfunction debugCheckNoChangesNode(view, nodeDef, argStyle, values) {\n (/** @type {?} */ (checkNoChangesNode)).apply(void 0, [view, nodeDef, argStyle].concat(values));\n}\n/**\n * @param {?} name\n * @return {?}\n */\nfunction normalizeDebugBindingName(name) {\n // Attribute names with `$` (eg `x-y$`) are valid per spec, but unsupported by some browsers\n name = camelCaseToDashCase(name.replace(/[$@]/g, '_'));\n return \"ng-reflect-\" + name;\n}\nvar CAMEL_CASE_REGEXP = /([A-Z])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nfunction camelCaseToDashCase(input) {\n return input.replace(CAMEL_CASE_REGEXP, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n return '-' + m[1].toLowerCase();\n });\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction normalizeDebugBindingValue(value) {\n try {\n // Limit the size of the value as otherwise the DOM just gets polluted.\n return value != null ? value.toString().slice(0, 30) : value;\n }\n catch (/** @type {?} */ e) {\n return '[ERROR] Exception while trying to serialize the value';\n }\n}\n/**\n * @param {?} view\n * @param {?} nodeIndex\n * @return {?}\n */\nfunction nextDirectiveWithBinding(view, nodeIndex) {\n for (var /** @type {?} */ i = nodeIndex; i < view.def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n if (nodeDef.flags & 16384 /* TypeDirective */ && nodeDef.bindings && nodeDef.bindings.length) {\n return i;\n }\n }\n return null;\n}\n/**\n * @param {?} view\n * @param {?} nodeIndex\n * @return {?}\n */\nfunction nextRenderNodeWithBinding(view, nodeIndex) {\n for (var /** @type {?} */ i = nodeIndex; i < view.def.nodes.length; i++) {\n var /** @type {?} */ nodeDef = view.def.nodes[i];\n if ((nodeDef.flags & 3 /* CatRenderNode */) && nodeDef.bindings && nodeDef.bindings.length) {\n return i;\n }\n }\n return null;\n}\nvar DebugContext_ = /** @class */ (function () {\n function DebugContext_(view, nodeIndex) {\n this.view = view;\n this.nodeIndex = nodeIndex;\n if (nodeIndex == null) {\n this.nodeIndex = nodeIndex = 0;\n }\n this.nodeDef = view.def.nodes[nodeIndex];\n var /** @type {?} */ elDef = this.nodeDef;\n var /** @type {?} */ elView = view;\n while (elDef && (elDef.flags & 1 /* TypeElement */) === 0) {\n elDef = /** @type {?} */ ((elDef.parent));\n }\n if (!elDef) {\n while (!elDef && elView) {\n elDef = /** @type {?} */ ((viewParentEl(elView)));\n elView = /** @type {?} */ ((elView.parent));\n }\n }\n this.elDef = elDef;\n this.elView = elView;\n }\n Object.defineProperty(DebugContext_.prototype, \"elOrCompView\", {\n get: /**\n * @return {?}\n */\n function () {\n // Has to be done lazily as we use the DebugContext also during creation of elements...\n return asElementData(this.elView, this.elDef.nodeIndex).componentView || this.view;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugContext_.prototype, \"injector\", {\n get: /**\n * @return {?}\n */\n function () { return createInjector(this.elView, this.elDef); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugContext_.prototype, \"component\", {\n get: /**\n * @return {?}\n */\n function () { return this.elOrCompView.component; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugContext_.prototype, \"context\", {\n get: /**\n * @return {?}\n */\n function () { return this.elOrCompView.context; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugContext_.prototype, \"providerTokens\", {\n get: /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ tokens = [];\n if (this.elDef) {\n for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) {\n var /** @type {?} */ childDef = this.elView.def.nodes[i];\n if (childDef.flags & 20224 /* CatProvider */) {\n tokens.push(/** @type {?} */ ((childDef.provider)).token);\n }\n i += childDef.childCount;\n }\n }\n return tokens;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugContext_.prototype, \"references\", {\n get: /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ references = {};\n if (this.elDef) {\n collectReferences(this.elView, this.elDef, references);\n for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) {\n var /** @type {?} */ childDef = this.elView.def.nodes[i];\n if (childDef.flags & 20224 /* CatProvider */) {\n collectReferences(this.elView, childDef, references);\n }\n i += childDef.childCount;\n }\n }\n return references;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugContext_.prototype, \"componentRenderElement\", {\n get: /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ elData = findHostElement(this.elOrCompView);\n return elData ? elData.renderElement : undefined;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DebugContext_.prototype, \"renderNode\", {\n get: /**\n * @return {?}\n */\n function () {\n return this.nodeDef.flags & 2 /* TypeText */ ? renderNode(this.view, this.nodeDef) :\n renderNode(this.elView, this.elDef);\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} console\n * @param {...?} values\n * @return {?}\n */\n DebugContext_.prototype.logError = /**\n * @param {?} console\n * @param {...?} values\n * @return {?}\n */\n function (console) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n var /** @type {?} */ logViewDef;\n var /** @type {?} */ logNodeIndex;\n if (this.nodeDef.flags & 2 /* TypeText */) {\n logViewDef = this.view.def;\n logNodeIndex = this.nodeDef.nodeIndex;\n }\n else {\n logViewDef = this.elView.def;\n logNodeIndex = this.elDef.nodeIndex;\n }\n // Note: we only generate a log function for text and element nodes\n // to make the generated code as small as possible.\n var /** @type {?} */ renderNodeIndex = getRenderNodeIndex(logViewDef, logNodeIndex);\n var /** @type {?} */ currRenderNodeIndex = -1;\n var /** @type {?} */ nodeLogger = function () {\n currRenderNodeIndex++;\n if (currRenderNodeIndex === renderNodeIndex) {\n return (_a = console.error).bind.apply(_a, [console].concat(values));\n }\n else {\n return NOOP;\n }\n var _a;\n }; /** @type {?} */\n ((logViewDef.factory))(nodeLogger);\n if (currRenderNodeIndex < renderNodeIndex) {\n console.error('Illegal state: the ViewDefinitionFactory did not call the logger!');\n console.error.apply(console, values);\n }\n };\n return DebugContext_;\n}());\n/**\n * @param {?} viewDef\n * @param {?} nodeIndex\n * @return {?}\n */\nfunction getRenderNodeIndex(viewDef$$1, nodeIndex) {\n var /** @type {?} */ renderNodeIndex = -1;\n for (var /** @type {?} */ i = 0; i <= nodeIndex; i++) {\n var /** @type {?} */ nodeDef = viewDef$$1.nodes[i];\n if (nodeDef.flags & 3 /* CatRenderNode */) {\n renderNodeIndex++;\n }\n }\n return renderNodeIndex;\n}\n/**\n * @param {?} view\n * @return {?}\n */\nfunction findHostElement(view) {\n while (view && !isComponentView(view)) {\n view = /** @type {?} */ ((view.parent));\n }\n if (view.parent) {\n return asElementData(view.parent, /** @type {?} */ ((viewParentEl(view))).nodeIndex);\n }\n return null;\n}\n/**\n * @param {?} view\n * @param {?} nodeDef\n * @param {?} references\n * @return {?}\n */\nfunction collectReferences(view, nodeDef, references) {\n for (var /** @type {?} */ refName in nodeDef.references) {\n references[refName] = getQueryValue(view, nodeDef, nodeDef.references[refName]);\n }\n}\n/**\n * @param {?} action\n * @param {?} fn\n * @param {?} self\n * @param {?} args\n * @return {?}\n */\nfunction callWithDebugContext(action, fn, self, args) {\n var /** @type {?} */ oldAction = _currentAction;\n var /** @type {?} */ oldView = _currentView;\n var /** @type {?} */ oldNodeIndex = _currentNodeIndex;\n try {\n _currentAction = action;\n var /** @type {?} */ result = fn.apply(self, args);\n _currentView = oldView;\n _currentNodeIndex = oldNodeIndex;\n _currentAction = oldAction;\n return result;\n }\n catch (/** @type {?} */ e) {\n if (isViewDebugError(e) || !_currentView) {\n throw e;\n }\n throw viewWrappedDebugError(e, /** @type {?} */ ((getCurrentDebugContext())));\n }\n}\n/**\n * @return {?}\n */\nfunction getCurrentDebugContext() {\n return _currentView ? new DebugContext_(_currentView, _currentNodeIndex) : null;\n}\nvar DebugRendererFactory2 = /** @class */ (function () {\n function DebugRendererFactory2(delegate) {\n this.delegate = delegate;\n }\n /**\n * @param {?} element\n * @param {?} renderData\n * @return {?}\n */\n DebugRendererFactory2.prototype.createRenderer = /**\n * @param {?} element\n * @param {?} renderData\n * @return {?}\n */\n function (element, renderData) {\n return new DebugRenderer2(this.delegate.createRenderer(element, renderData));\n };\n /**\n * @return {?}\n */\n DebugRendererFactory2.prototype.begin = /**\n * @return {?}\n */\n function () {\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n };\n /**\n * @return {?}\n */\n DebugRendererFactory2.prototype.end = /**\n * @return {?}\n */\n function () {\n if (this.delegate.end) {\n this.delegate.end();\n }\n };\n /**\n * @return {?}\n */\n DebugRendererFactory2.prototype.whenRenderingDone = /**\n * @return {?}\n */\n function () {\n if (this.delegate.whenRenderingDone) {\n return this.delegate.whenRenderingDone();\n }\n return Promise.resolve(null);\n };\n return DebugRendererFactory2;\n}());\nvar DebugRenderer2 = /** @class */ (function () {\n function DebugRenderer2(delegate) {\n this.delegate = delegate;\n this.data = this.delegate.data;\n }\n /**\n * @param {?} node\n * @return {?}\n */\n DebugRenderer2.prototype.destroyNode = /**\n * @param {?} node\n * @return {?}\n */\n function (node) {\n removeDebugNodeFromIndex(/** @type {?} */ ((getDebugNode(node))));\n if (this.delegate.destroyNode) {\n this.delegate.destroyNode(node);\n }\n };\n /**\n * @return {?}\n */\n DebugRenderer2.prototype.destroy = /**\n * @return {?}\n */\n function () { this.delegate.destroy(); };\n /**\n * @param {?} name\n * @param {?=} namespace\n * @return {?}\n */\n DebugRenderer2.prototype.createElement = /**\n * @param {?} name\n * @param {?=} namespace\n * @return {?}\n */\n function (name, namespace) {\n var /** @type {?} */ el = this.delegate.createElement(name, namespace);\n var /** @type {?} */ debugCtx = getCurrentDebugContext();\n if (debugCtx) {\n var /** @type {?} */ debugEl = new DebugElement(el, null, debugCtx);\n debugEl.name = name;\n indexDebugNode(debugEl);\n }\n return el;\n };\n /**\n * @param {?} value\n * @return {?}\n */\n DebugRenderer2.prototype.createComment = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n var /** @type {?} */ comment = this.delegate.createComment(value);\n var /** @type {?} */ debugCtx = getCurrentDebugContext();\n if (debugCtx) {\n indexDebugNode(new DebugNode(comment, null, debugCtx));\n }\n return comment;\n };\n /**\n * @param {?} value\n * @return {?}\n */\n DebugRenderer2.prototype.createText = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n var /** @type {?} */ text = this.delegate.createText(value);\n var /** @type {?} */ debugCtx = getCurrentDebugContext();\n if (debugCtx) {\n indexDebugNode(new DebugNode(text, null, debugCtx));\n }\n return text;\n };\n /**\n * @param {?} parent\n * @param {?} newChild\n * @return {?}\n */\n DebugRenderer2.prototype.appendChild = /**\n * @param {?} parent\n * @param {?} newChild\n * @return {?}\n */\n function (parent, newChild) {\n var /** @type {?} */ debugEl = getDebugNode(parent);\n var /** @type {?} */ debugChildEl = getDebugNode(newChild);\n if (debugEl && debugChildEl && debugEl instanceof DebugElement) {\n debugEl.addChild(debugChildEl);\n }\n this.delegate.appendChild(parent, newChild);\n };\n /**\n * @param {?} parent\n * @param {?} newChild\n * @param {?} refChild\n * @return {?}\n */\n DebugRenderer2.prototype.insertBefore = /**\n * @param {?} parent\n * @param {?} newChild\n * @param {?} refChild\n * @return {?}\n */\n function (parent, newChild, refChild) {\n var /** @type {?} */ debugEl = getDebugNode(parent);\n var /** @type {?} */ debugChildEl = getDebugNode(newChild);\n var /** @type {?} */ debugRefEl = /** @type {?} */ ((getDebugNode(refChild)));\n if (debugEl && debugChildEl && debugEl instanceof DebugElement) {\n debugEl.insertBefore(debugRefEl, debugChildEl);\n }\n this.delegate.insertBefore(parent, newChild, refChild);\n };\n /**\n * @param {?} parent\n * @param {?} oldChild\n * @return {?}\n */\n DebugRenderer2.prototype.removeChild = /**\n * @param {?} parent\n * @param {?} oldChild\n * @return {?}\n */\n function (parent, oldChild) {\n var /** @type {?} */ debugEl = getDebugNode(parent);\n var /** @type {?} */ debugChildEl = getDebugNode(oldChild);\n if (debugEl && debugChildEl && debugEl instanceof DebugElement) {\n debugEl.removeChild(debugChildEl);\n }\n this.delegate.removeChild(parent, oldChild);\n };\n /**\n * @param {?} selectorOrNode\n * @return {?}\n */\n DebugRenderer2.prototype.selectRootElement = /**\n * @param {?} selectorOrNode\n * @return {?}\n */\n function (selectorOrNode) {\n var /** @type {?} */ el = this.delegate.selectRootElement(selectorOrNode);\n var /** @type {?} */ debugCtx = getCurrentDebugContext();\n if (debugCtx) {\n indexDebugNode(new DebugElement(el, null, debugCtx));\n }\n return el;\n };\n /**\n * @param {?} el\n * @param {?} name\n * @param {?} value\n * @param {?=} namespace\n * @return {?}\n */\n DebugRenderer2.prototype.setAttribute = /**\n * @param {?} el\n * @param {?} name\n * @param {?} value\n * @param {?=} namespace\n * @return {?}\n */\n function (el, name, value, namespace) {\n var /** @type {?} */ debugEl = getDebugNode(el);\n if (debugEl && debugEl instanceof DebugElement) {\n var /** @type {?} */ fullName = namespace ? namespace + ':' + name : name;\n debugEl.attributes[fullName] = value;\n }\n this.delegate.setAttribute(el, name, value, namespace);\n };\n /**\n * @param {?} el\n * @param {?} name\n * @param {?=} namespace\n * @return {?}\n */\n DebugRenderer2.prototype.removeAttribute = /**\n * @param {?} el\n * @param {?} name\n * @param {?=} namespace\n * @return {?}\n */\n function (el, name, namespace) {\n var /** @type {?} */ debugEl = getDebugNode(el);\n if (debugEl && debugEl instanceof DebugElement) {\n var /** @type {?} */ fullName = namespace ? namespace + ':' + name : name;\n debugEl.attributes[fullName] = null;\n }\n this.delegate.removeAttribute(el, name, namespace);\n };\n /**\n * @param {?} el\n * @param {?} name\n * @return {?}\n */\n DebugRenderer2.prototype.addClass = /**\n * @param {?} el\n * @param {?} name\n * @return {?}\n */\n function (el, name) {\n var /** @type {?} */ debugEl = getDebugNode(el);\n if (debugEl && debugEl instanceof DebugElement) {\n debugEl.classes[name] = true;\n }\n this.delegate.addClass(el, name);\n };\n /**\n * @param {?} el\n * @param {?} name\n * @return {?}\n */\n DebugRenderer2.prototype.removeClass = /**\n * @param {?} el\n * @param {?} name\n * @return {?}\n */\n function (el, name) {\n var /** @type {?} */ debugEl = getDebugNode(el);\n if (debugEl && debugEl instanceof DebugElement) {\n debugEl.classes[name] = false;\n }\n this.delegate.removeClass(el, name);\n };\n /**\n * @param {?} el\n * @param {?} style\n * @param {?} value\n * @param {?} flags\n * @return {?}\n */\n DebugRenderer2.prototype.setStyle = /**\n * @param {?} el\n * @param {?} style\n * @param {?} value\n * @param {?} flags\n * @return {?}\n */\n function (el, style, value, flags) {\n var /** @type {?} */ debugEl = getDebugNode(el);\n if (debugEl && debugEl instanceof DebugElement) {\n debugEl.styles[style] = value;\n }\n this.delegate.setStyle(el, style, value, flags);\n };\n /**\n * @param {?} el\n * @param {?} style\n * @param {?} flags\n * @return {?}\n */\n DebugRenderer2.prototype.removeStyle = /**\n * @param {?} el\n * @param {?} style\n * @param {?} flags\n * @return {?}\n */\n function (el, style, flags) {\n var /** @type {?} */ debugEl = getDebugNode(el);\n if (debugEl && debugEl instanceof DebugElement) {\n debugEl.styles[style] = null;\n }\n this.delegate.removeStyle(el, style, flags);\n };\n /**\n * @param {?} el\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\n DebugRenderer2.prototype.setProperty = /**\n * @param {?} el\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\n function (el, name, value) {\n var /** @type {?} */ debugEl = getDebugNode(el);\n if (debugEl && debugEl instanceof DebugElement) {\n debugEl.properties[name] = value;\n }\n this.delegate.setProperty(el, name, value);\n };\n /**\n * @param {?} target\n * @param {?} eventName\n * @param {?} callback\n * @return {?}\n */\n DebugRenderer2.prototype.listen = /**\n * @param {?} target\n * @param {?} eventName\n * @param {?} callback\n * @return {?}\n */\n function (target, eventName, callback) {\n if (typeof target !== 'string') {\n var /** @type {?} */ debugEl = getDebugNode(target);\n if (debugEl) {\n debugEl.listeners.push(new EventListener(eventName, callback));\n }\n }\n return this.delegate.listen(target, eventName, callback);\n };\n /**\n * @param {?} node\n * @return {?}\n */\n DebugRenderer2.prototype.parentNode = /**\n * @param {?} node\n * @return {?}\n */\n function (node) { return this.delegate.parentNode(node); };\n /**\n * @param {?} node\n * @return {?}\n */\n DebugRenderer2.prototype.nextSibling = /**\n * @param {?} node\n * @return {?}\n */\n function (node) { return this.delegate.nextSibling(node); };\n /**\n * @param {?} node\n * @param {?} value\n * @return {?}\n */\n DebugRenderer2.prototype.setValue = /**\n * @param {?} node\n * @param {?} value\n * @return {?}\n */\n function (node, value) { return this.delegate.setValue(node, value); };\n return DebugRenderer2;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} override\n * @return {?}\n */\nfunction overrideProvider(override) {\n initServicesIfNeeded();\n return Services.overrideProvider(override);\n}\n/**\n * @param {?} comp\n * @param {?} componentFactory\n * @return {?}\n */\nfunction overrideComponentView(comp, componentFactory) {\n initServicesIfNeeded();\n return Services.overrideComponentView(comp, componentFactory);\n}\n/**\n * @return {?}\n */\nfunction clearOverrides() {\n initServicesIfNeeded();\n return Services.clearOverrides();\n}\n/**\n * @param {?} ngModuleType\n * @param {?} bootstrapComponents\n * @param {?} defFactory\n * @return {?}\n */\nfunction createNgModuleFactory(ngModuleType, bootstrapComponents, defFactory) {\n return new NgModuleFactory_(ngModuleType, bootstrapComponents, defFactory);\n}\nvar NgModuleFactory_ = /** @class */ (function (_super) {\n __extends(NgModuleFactory_, _super);\n function NgModuleFactory_(moduleType, _bootstrapComponents, _ngModuleDefFactory) {\n var _this = \n // Attention: this ctor is called as top level function.\n // Putting any logic in here will destroy closure tree shaking!\n _super.call(this) || this;\n _this.moduleType = moduleType;\n _this._bootstrapComponents = _bootstrapComponents;\n _this._ngModuleDefFactory = _ngModuleDefFactory;\n return _this;\n }\n /**\n * @param {?} parentInjector\n * @return {?}\n */\n NgModuleFactory_.prototype.create = /**\n * @param {?} parentInjector\n * @return {?}\n */\n function (parentInjector) {\n initServicesIfNeeded();\n var /** @type {?} */ def = resolveDefinition(this._ngModuleDefFactory);\n return Services.createNgModuleRef(this.moduleType, parentInjector || Injector.NULL, this._bootstrapComponents, def);\n };\n return NgModuleFactory_;\n}(NgModuleFactory));\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// The functions in this file verify that the assumptions we are making\n// about state in an instruction are correct before implementing any logic.\n// They are meant only to be called in dev mode as sanity checks.\n/**\n * Stringifies values such that strings are wrapped in explicit quotation marks and\n * other types are stringified normally. Used in error messages (e.g. assertThrow)\n * to make it clear that certain values are of the string type when comparing.\n *\n * e.g. `expected \"3\" to be 3` is easier to understand than `expected 3 to be 3`.\n *\n * @param {?} value The value to be stringified\n * @return {?} The stringified value\n */\nfunction stringifyValueForError(value) {\n return typeof value === 'string' ? \"\\\"\" + value + \"\\\"\" : '' + value;\n}\n/**\n * @param {?} actual\n * @param {?} name\n * @return {?}\n */\n\n/**\n * @template T\n * @param {?} actual\n * @param {?} expected\n * @param {?} name\n * @param {?=} serializer\n * @return {?}\n */\nfunction assertEqual(actual, expected, name, serializer) {\n (actual != expected) && assertThrow(actual, expected, name, '==', serializer);\n}\n/**\n * @template T\n * @param {?} actual\n * @param {?} expected\n * @param {?} name\n * @return {?}\n */\nfunction assertLessThan(actual, expected, name) {\n (actual < expected) && assertThrow(actual, expected, name, '>');\n}\n/**\n * @template T\n * @param {?} actual\n * @param {?} name\n * @return {?}\n */\nfunction assertNotNull(actual, name) {\n assertNotEqual(actual, null, name);\n}\n/**\n * @template T\n * @param {?} actual\n * @param {?} expected\n * @param {?} name\n * @return {?}\n */\nfunction assertNotEqual(actual, expected, name) {\n (actual == expected) && assertThrow(actual, expected, name, '!=');\n}\n/**\n * Throws an error with a message constructed from the arguments.\n *\n * @template T\n * @param {?} actual The actual value (e.g. 3)\n * @param {?} expected The expected value (e.g. 5)\n * @param {?} name The name of the value being checked (e.g. attrs.length)\n * @param {?} operator The comparison operator (e.g. <, >, ==)\n * @param {?=} serializer Function that maps a value to its display value\n * @return {?}\n */\nfunction assertThrow(actual, expected, name, operator, serializer) {\n if (serializer === void 0) { serializer = stringifyValueForError; }\n throw new Error(\"ASSERT: expected \" + name + \" \" + operator + \" \" + serializer(expected) + \" but was \" + serializer(actual) + \"!\");\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nif (typeof ngDevMode == 'undefined') {\n if (typeof window != 'undefined')\n (/** @type {?} */ (window)).ngDevMode = true;\n if (typeof self != 'undefined')\n (/** @type {?} */ (self)).ngDevMode = true;\n if (typeof global != 'undefined')\n (/** @type {?} */ (global)).ngDevMode = true;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} node\n * @param {?} type\n * @return {?}\n */\nfunction assertNodeType(node, type) {\n assertNotEqual(node, null, 'node');\n assertEqual(node.flags & 3 /* TYPE_MASK */, type, 'Node.type', typeSerializer);\n}\n/**\n * @param {?} node\n * @param {...?} types\n * @return {?}\n */\n\n/**\n * @param {?} type\n * @return {?}\n */\nfunction typeSerializer(type) {\n if (type == 1 /* Projection */)\n return 'Projection';\n if (type == 0 /* Container */)\n return 'Container';\n if (type == 2 /* View */)\n return 'View';\n if (type == 3 /* Element */)\n return 'Element';\n return '??? ' + type + ' ???';\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Finds the closest DOM node above a given container in the hierarchy.\n *\n * This is necessary to add or remove elements from the DOM when a view\n * is added or removed from the container. e.g. parent.removeChild(...)\n *\n * @param {?} containerNode The container node whose parent must be found\n * @return {?} Closest DOM node above the container\n */\nfunction findNativeParent(containerNode) {\n var /** @type {?} */ container = containerNode;\n while (container) {\n ngDevMode && assertNodeType(container, 0 /* Container */);\n var /** @type {?} */ renderParent = container.data.renderParent;\n if (renderParent !== null) {\n return renderParent.native;\n }\n var /** @type {?} */ viewOrElement = /** @type {?} */ ((container.parent));\n ngDevMode && assertNotNull(viewOrElement, 'container.parent');\n if ((viewOrElement.flags & 3 /* TYPE_MASK */) === 3 /* Element */) {\n // we are an LElement, which means we are past the last LContainer.\n // This means than we have not been projected so just ignore.\n return null;\n }\n ngDevMode && assertNodeType(viewOrElement, 2 /* View */);\n container = (/** @type {?} */ (viewOrElement)).parent;\n }\n return null;\n}\n/**\n * Finds the DOM element before which a certain view should be inserting its\n * child elements.\n *\n * If the view has a next (e.g. for loop), elements should be inserted before\n * the next view's first child element. Otherwise, the container's comment\n * anchor is the marker.\n *\n * @param {?} index The index of the view to check\n * @param {?} state ContainerState of the parent container\n * @param {?} native Comment anchor for container\n * @return {?} The DOM element for which the view should insert elements\n */\nfunction findBeforeNode(index, state, native) {\n var /** @type {?} */ views = state.views;\n // Find the node to insert in front of\n return index + 1 < views.length ?\n (/** @type {?} */ (views[index + 1].child)).native :\n native;\n}\n/**\n * @param {?} container\n * @param {?} rootNode\n * @param {?} insertMode\n * @param {?=} beforeNode\n * @return {?}\n */\nfunction addRemoveViewFromContainer(container, rootNode, insertMode, beforeNode) {\n ngDevMode && assertNodeType(container, 0 /* Container */);\n ngDevMode && assertNodeType(rootNode, 2 /* View */);\n var /** @type {?} */ parent = findNativeParent(container);\n var /** @type {?} */ node = rootNode.child;\n if (parent) {\n while (node) {\n var /** @type {?} */ type = node.flags & 3;\n var /** @type {?} */ nextNode = null;\n var /** @type {?} */ renderer = container.view.renderer;\n var /** @type {?} */ isFnRenderer = (/** @type {?} */ (renderer)).listen;\n if (type === 3 /* Element */) {\n insertMode ? (isFnRenderer ? /** @type {?} */ (((/** @type {?} */ (renderer))\n .insertBefore))(parent, /** @type {?} */ ((node.native)), /** @type {?} */ (beforeNode)) :\n parent.insertBefore(/** @type {?} */ ((node.native)), /** @type {?} */ (beforeNode), true)) :\n (isFnRenderer ? /** @type {?} */ (((/** @type {?} */ (renderer))\n .removeChild))(/** @type {?} */ (parent), /** @type {?} */ ((node.native))) :\n parent.removeChild(/** @type {?} */ ((node.native))));\n nextNode = node.next;\n }\n else if (type === 0 /* Container */) {\n // if we get to a container, it must be a root node of a view because we are only\n // propagating down into child views / containers and not child elements\n var /** @type {?} */ childContainerData = (/** @type {?} */ (node)).data;\n insertMode ? (isFnRenderer ? /** @type {?} */ (((/** @type {?} */ (renderer))\n .appendChild))(/** @type {?} */ (parent), /** @type {?} */ ((node.native))) :\n parent.appendChild(/** @type {?} */ ((node.native)))) :\n (isFnRenderer ? /** @type {?} */ (((/** @type {?} */ (renderer))\n .removeChild))(/** @type {?} */ (parent), /** @type {?} */ ((node.native))) :\n parent.removeChild(/** @type {?} */ ((node.native))));\n nextNode = childContainerData.views.length ? childContainerData.views[0].child : null;\n }\n else if (type === 1 /* Projection */) {\n nextNode = (/** @type {?} */ (node)).data[0];\n }\n else {\n nextNode = (/** @type {?} */ (node)).child;\n }\n if (nextNode === null) {\n while (node && !node.next) {\n node = node.parent;\n if (node === rootNode)\n node = null;\n }\n node = node && node.next;\n }\n else {\n node = nextNode;\n }\n }\n }\n}\n/**\n * Traverses the tree of component views and containers to remove listeners and\n * call onDestroy callbacks.\n *\n * Notes:\n * - Because it's used for onDestroy calls, it needs to be bottom-up.\n * - Must process containers instead of their views to avoid splicing\n * when views are destroyed and re-added.\n * - Using a while loop because it's faster than recursion\n * - Destroy only called on movement to sibling or movement to parent (laterally or up)\n *\n * \\@param rootView The view to destroy\n * @param {?} rootView\n * @return {?}\n */\nfunction destroyViewTree(rootView) {\n var /** @type {?} */ viewOrContainerState = rootView;\n while (viewOrContainerState) {\n var /** @type {?} */ next = null;\n if (viewOrContainerState.views && viewOrContainerState.views.length) {\n next = viewOrContainerState.views[0].data;\n }\n else if (viewOrContainerState.child) {\n next = viewOrContainerState.child;\n }\n else if (viewOrContainerState.next) {\n cleanUpView(/** @type {?} */ (viewOrContainerState));\n next = viewOrContainerState.next;\n }\n if (next == null) {\n while (viewOrContainerState && !/** @type {?} */ ((viewOrContainerState)).next) {\n cleanUpView(/** @type {?} */ (viewOrContainerState));\n viewOrContainerState = getParentState(viewOrContainerState, rootView);\n }\n cleanUpView(/** @type {?} */ (viewOrContainerState) || rootView);\n next = viewOrContainerState && viewOrContainerState.next;\n }\n viewOrContainerState = next;\n }\n}\n/**\n * Inserts a view into a container.\n *\n * This adds the view to the container's array of active views in the correct\n * position. It also adds the view's elements to the DOM if the container isn't a\n * root node of another view (in that case, the view's elements will be added when\n * the container's parent view is added later).\n *\n * @param {?} container The container into which the view should be inserted\n * @param {?} newView The view to insert\n * @param {?} index The index at which to insert the view\n * @return {?} The inserted view\n */\nfunction insertView(container, newView, index) {\n var /** @type {?} */ state = container.data;\n var /** @type {?} */ views = state.views;\n if (index > 0) {\n // This is a new view, we need to add it to the children.\n setViewNext(views[index - 1], newView);\n }\n if (index < views.length && views[index].data.id !== newView.data.id) {\n // View ID change replace the view.\n setViewNext(newView, views[index]);\n views.splice(index, 0, newView);\n }\n else if (index >= views.length) {\n views.push(newView);\n }\n if (state.nextIndex <= index) {\n state.nextIndex++;\n }\n // If the container's renderParent is null, we know that it is a root node of its own parent view\n // and we should wait until that parent processes its nodes (otherwise, we will insert this view's\n // nodes twice - once now and once when its parent inserts its views).\n if (container.data.renderParent !== null) {\n addRemoveViewFromContainer(container, newView, true, findBeforeNode(index, state, container.native));\n }\n // Notify query that view has been inserted\n container.query && container.query.insertView(container, newView, index);\n return newView;\n}\n/**\n * Removes a view from a container.\n *\n * This method splices the view from the container's array of active views. It also\n * removes the view's elements from the DOM and conducts cleanup (e.g. removing\n * listeners, calling onDestroys).\n *\n * @param {?} container The container from which to remove a view\n * @param {?} removeIndex The index of the view to remove\n * @return {?} The removed view\n */\nfunction removeView(container, removeIndex) {\n var /** @type {?} */ views = container.data.views;\n var /** @type {?} */ viewNode = views[removeIndex];\n if (removeIndex > 0) {\n setViewNext(views[removeIndex - 1], viewNode.next);\n }\n views.splice(removeIndex, 1);\n destroyViewTree(viewNode.data);\n addRemoveViewFromContainer(container, viewNode, false);\n // Notify query that view has been removed\n container.query && container.query.removeView(container, viewNode, removeIndex);\n return viewNode;\n}\n/**\n * Sets a next on the view node, so views in for loops can easily jump from\n * one view to the next to add/remove elements. Also adds the ViewState (view.data)\n * to the view tree for easy traversal when cleaning up the view.\n *\n * @param {?} view The view to set up\n * @param {?} next The view's new next\n * @return {?}\n */\nfunction setViewNext(view, next) {\n view.next = next;\n view.data.next = next ? next.data : null;\n}\n/**\n * Determines which ViewOrContainerState to jump to when traversing back up the\n * tree in destroyViewTree.\n *\n * Normally, the view's parent ViewState should be checked, but in the case of\n * embedded views, the container (which is the view node's parent, but not the\n * ViewState's parent) needs to be checked for a possible next property.\n *\n * @param {?} state The ViewOrContainerState for which we need a parent state\n * @param {?} rootView The rootView, so we don't propagate too far up the view tree\n * @return {?} The correct parent ViewOrContainerState\n */\nfunction getParentState(state, rootView) {\n var /** @type {?} */ node;\n if ((node = /** @type {?} */ (((/** @type {?} */ (state)))).node) &&\n (node.flags & 3 /* TYPE_MASK */) === 2 /* View */) {\n // if it's an embedded view, the state needs to go up to the container, in case the\n // container has a next\n return /** @type {?} */ (((node.parent)).data);\n }\n else {\n // otherwise, use parent view for containers or component views\n return state.parent === rootView ? null : state.parent;\n }\n}\n/**\n * Removes all listeners and call all onDestroys in a given view.\n *\n * @param {?} viewState The ViewState of the view to clean up\n * @return {?}\n */\nfunction cleanUpView(viewState) {\n if (!viewState.cleanup)\n return;\n var /** @type {?} */ cleanup = /** @type {?} */ ((viewState.cleanup));\n for (var /** @type {?} */ i = 0; i < cleanup.length - 1; i += 2) {\n if (typeof cleanup[i] === 'string') {\n /** @type {?} */ ((cleanup))[i + 1].removeEventListener(cleanup[i], cleanup[i + 2], cleanup[i + 3]);\n i += 2;\n }\n else {\n cleanup[i].call(cleanup[i + 1]);\n }\n }\n viewState.cleanup = null;\n}\n/**\n * Appends the provided child element to the provided parent, if appropriate.\n *\n * If the parent is a view, the element will be appended as part of viewEnd(), so\n * the element should not be appended now. Similarly, if the child is a content child\n * of a parent component, the child will be appended to the right position later by\n * the content projection system. Otherwise, append normally.\n *\n * @param {?} parent The parent to which to append the child\n * @param {?} child The child that should be appended\n * @param {?} currentView The current view's ViewState\n * @return {?} Whether or not the child was appended\n */\nfunction appendChild(parent, child, currentView) {\n // Only add native child element to parent element if the parent element is regular Element.\n // If parent is:\n // - Regular element => add child\n // - Component host element =>\n // - Current View, and parent view same => content => don't add -> parent component will\n // re-project if needed.\n // - Current View, and parent view different => view => add Child\n // - View element => View's get added separately.\n if (child !== null && (parent.flags & 3 /* TYPE_MASK */) === 3 /* Element */ &&\n (parent.view !==\n currentView /* Crossing View Boundaries, it is Component, but add Element of View */\n || parent.data === null /* Regular Element. */)) {\n // We only add element if not in View or not projected.\n var /** @type {?} */ renderer = currentView.renderer;\n (/** @type {?} */ (renderer)).listen ? /** @type {?} */ (((/** @type {?} */ (renderer)).appendChild))(/** @type {?} */ (((parent.native))), child) : /** @type {?} */ ((parent.native)).appendChild(child);\n return true;\n }\n return false;\n}\n/**\n * Inserts the provided node before the correct element in the DOM, if appropriate.\n *\n * If the parent is a view, the element will be inserted as part of viewEnd(), so\n * the element should not be inserted now. Similarly, if the child is a content child\n * of a parent component, the child will be inserted to the right position later by\n * the content projection system. Otherwise, insertBefore normally.\n *\n * @param {?} node Node to insert\n * @param {?} currentView The current view's ViewState\n * @return {?}\n */\nfunction insertChild(node, currentView) {\n var /** @type {?} */ parent = /** @type {?} */ ((node.parent));\n // Only add child element to parent element if the parent element is regular Element.\n // If parent is:\n // - Normal element => add child\n // - Component element =>\n // - Current View, and parent view same => content don't add -> parent component will\n // re-project if needed.\n // - Current View, and parent view different => view => add Child\n // - View element => View's get added separately.\n if ((parent.flags & 3 /* TYPE_MASK */) === 3 /* Element */ &&\n (parent.view !==\n currentView /* Crossing View Boundaries, its Component, but add Element of View */\n || parent.data === null /* Regular Element. */)) {\n // We only add element if not in View or not projected.\n var /** @type {?} */ sibling = node.next;\n var /** @type {?} */ nativeSibling = null;\n while (sibling && (nativeSibling = sibling.native) === null) {\n sibling = sibling.next;\n }\n var /** @type {?} */ renderer = currentView.renderer;\n (/** @type {?} */ (renderer)).listen ? /** @type {?} */ (((/** @type {?} */ (renderer))\n .insertBefore))(/** @type {?} */ ((parent.native)), /** @type {?} */ ((node.native)), nativeSibling) : /** @type {?} */ ((parent.native)).insertBefore(/** @type {?} */ ((node.native)), nativeSibling, false);\n }\n}\n/**\n * Appends a projected node to the DOM, or in the case of a projected container,\n * appends the nodes from all of the container's active views to the DOM. Also stores the\n * node in the given projectedNodes array.\n *\n * @param {?} projectedNodes Array to store the projected node\n * @param {?} node The node to process\n * @param {?} currentParent The last parent element to be processed\n * @param {?} currentView The current view's ViewState\n * @return {?}\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A utility function to match an Ivy node static data against a simple CSS selector\n *\n * @param {?} lNodeStaticData\n * @param {?} selector\n * @return {?} true if node matches the selector.\n */\n\n/**\n * @param {?} lNodeStaticData\n * @param {?} selector\n * @return {?}\n */\n\n/**\n * @param {?} lNodeStaticData\n * @param {?} selector\n * @return {?}\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Must use this method for CD (instead of === ) since NaN !== NaN\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction isDifferent(a, b) {\n // NaN is the only value that is not equal to itself so the first\n // test checks if both a and b are not NaN\n return !(a !== a && b !== b) && a !== b;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction stringify$1(value) {\n if (typeof value == 'function')\n return value.name || value;\n if (typeof value == 'string')\n return value;\n if (value == null)\n return '';\n return '' + value;\n}\n/**\n * Function that throws a \"not implemented\" error so it's clear certain\n * behaviors/methods aren't yet ready.\n *\n * @return {?} Not implemented error\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * If a directive is diPublic, bloomAdd sets a property on the instance with this constant as\n * the key and the directive's unique ID as the value. This allows us to map directives to their\n * bloom filter bit for DI.\n */\nvar NG_ELEMENT_ID = '__NG_ELEMENT_ID__';\n/**\n * The number of slots in each bloom filter (used by DI). The larger this number, the fewer\n * directives that will share slots, and thus, the fewer false positives when checking for\n * the existence of a directive.\n */\nvar BLOOM_SIZE = 128;\n/**\n * Registers this directive as present in its node's injector by flipping the directive's\n * corresponding bit in the injector's bloom filter.\n *\n * @param {?} injector The node injector in which the directive should be registered\n * @param {?} type The directive to register\n * @return {?}\n */\n\n/**\n * Creates (or gets an existing) injector for a given element or container.\n *\n * @param {?} node for which an injector should be retrieved / created.\n * @return {?} Node injector\n */\n\n/**\n * Constructs an injection error with the given text and token.\n *\n * @param {?} text The text of the error\n * @param {?} token The token associated with the error\n * @return {?} The error that was created\n */\nfunction createInjectionError(text, token) {\n return new Error(\"ElementInjector: \" + text + \" [\" + stringify$1(token) + \"]\");\n}\n/**\n * Makes a directive public to the DI system by adding it to an injector's bloom filter.\n *\n * @param {?} di The node injector in which a directive will be added\n * @param {?} def The definition of the directive to be made public\n * @return {?}\n */\n\n/**\n * Searches for an instance of the given directive type up the injector tree and returns\n * that instance if found.\n *\n * Specifically, it gets the bloom filter bit associated with the directive (see bloomHashBit),\n * checks that bit against the bloom filter structure to identify an injector that might have\n * the directive (see bloomFindPossibleInjector), then searches the directives on that injector\n * for a match.\n *\n * If not found, it will propagate up to the next parent injector until the token\n * is found or the top is reached.\n *\n * @template T\n * @param {?} di Node injector where the search should start\n * @param {?} token The directive type to search for\n * @param {?=} flags Injection flags (e.g. CheckParent)\n * @return {?} The instance found\n */\n\n/**\n * Given a directive type, this function returns the bit in an injector's bloom filter\n * that should be used to determine whether or not the directive is present.\n *\n * When the directive was added to the bloom filter, it was given a unique ID that can be\n * retrieved on the class. Since there are only BLOOM_SIZE slots per bloom filter, the directive's\n * ID must be modulo-ed by BLOOM_SIZE to get the correct bloom bit (directives share slots after\n * BLOOM_SIZE is reached).\n *\n * @param {?} type The directive type\n * @return {?} The bloom bit to check for the directive\n */\nfunction bloomHashBit(type) {\n var /** @type {?} */ id = (/** @type {?} */ (type))[NG_ELEMENT_ID];\n return typeof id === 'number' ? id % BLOOM_SIZE : null;\n}\n/**\n * Finds the closest injector that might have a certain directive.\n *\n * Each directive corresponds to a bit in an injector's bloom filter. Given the bloom bit to\n * check and a starting injector, this function traverses up injectors until it finds an\n * injector that contains a 1 for that bit in its bloom filter. A 1 indicates that the\n * injector may have that directive. It only *may* have the directive because directives begin\n * to share bloom filter bits after the BLOOM_SIZE is reached, and it could correspond to a\n * different directive sharing the bit.\n *\n * Note: We can skip checking further injectors up the tree if an injector's cbf structure\n * has a 0 for that bloom bit. Since cbf contains the merged value of all the parent\n * injectors, a 0 in the bloom bit indicates that the parents definitely do not contain\n * the directive and do not need to be checked.\n *\n * @param {?} startInjector\n * @param {?} bloomBit The bit to check in each injector's bloom filter\n * @return {?} An injector that might have the directive\n */\nfunction bloomFindPossibleInjector(startInjector, bloomBit) {\n // Create a mask that targets the specific bit associated with the directive we're looking for.\n // JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding\n // to bit positions 0 - 31 in a 32 bit integer.\n var /** @type {?} */ mask = 1 << bloomBit;\n // Traverse up the injector tree until we find a potential match or until we know there *isn't* a\n // match.\n var /** @type {?} */ injector = startInjector;\n while (injector) {\n // Our bloom filter size is 128 bits, which is four 32-bit bloom filter buckets:\n // bf0 = [0 - 31], bf1 = [32 - 63], bf2 = [64 - 95], bf3 = [96 - 127]\n // Get the bloom filter value from the appropriate bucket based on the directive's bloomBit.\n var /** @type {?} */ value = bloomBit < 64 ? (bloomBit < 32 ? injector.bf0 : injector.bf1) :\n (bloomBit < 96 ? injector.bf2 : injector.bf3);\n // If the bloom filter value has the bit corresponding to the directive's bloomBit flipped on,\n // this injector is a potential match.\n if ((value & mask) === mask) {\n return injector;\n }\n // If the current injector does not have the directive, check the bloom filters for the ancestor\n // injectors (cbf0 - cbf3). These filters capture *all* ancestor injectors.\n value = bloomBit < 64 ? (bloomBit < 32 ? injector.cbf0 : injector.cbf1) :\n (bloomBit < 96 ? injector.cbf2 : injector.cbf3);\n // If the ancestor bloom filter value has the bit corresponding to the directive, traverse up to\n // find the specific injector. If the ancestor bloom filter does not have the bit, we can abort.\n injector = (value & mask) ? injector.parent : null;\n }\n return null;\n}\n/**\n * Creates an ElementRef for a given node injector and stores it on the injector.\n * Or, if the ElementRef already exists, retrieves the existing ElementRef.\n *\n * @param {?} di The node injector where we should store a created ElementRef\n * @return {?} The ElementRef instance to use\n */\n\n/**\n * Creates a TemplateRef and stores it on the injector. Or, if the TemplateRef already\n * exists, retrieves the existing TemplateRef.\n *\n * @template T\n * @param {?} di The node injector where we should store a created TemplateRef\n * @return {?} The TemplateRef instance to use\n */\n\n/**\n * Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef\n * already exists, retrieves the existing ViewContainerRef.\n *\n * @param {?} di\n * @return {?} The ViewContainerRef instance to use\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A predicate which determines if a given element/directive should be included in the query\n * @record\n */\n\nvar QueryList_ = /** @class */ (function () {\n function QueryList_() {\n this.dirty = false;\n /**\n * \\@internal\n */\n this._valuesTree = null;\n /**\n * \\@internal\n */\n this._values = null;\n }\n Object.defineProperty(QueryList_.prototype, \"length\", {\n get: /**\n * @return {?}\n */\n function () {\n ngDevMode && assertNotNull(this._values, 'refreshed');\n return /** @type {?} */ ((this._values)).length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(QueryList_.prototype, \"first\", {\n get: /**\n * @return {?}\n */\n function () {\n ngDevMode && assertNotNull(this._values, 'refreshed');\n var /** @type {?} */ values = /** @type {?} */ ((this._values));\n return values.length ? values[0] : null;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(QueryList_.prototype, \"last\", {\n get: /**\n * @return {?}\n */\n function () {\n ngDevMode && assertNotNull(this._values, 'refreshed');\n var /** @type {?} */ values = /** @type {?} */ ((this._values));\n return values.length ? values[values.length - 1] : null;\n },\n enumerable: true,\n configurable: true\n });\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n QueryList_.prototype._refresh = /**\n * \\@internal\n * @return {?}\n */\n function () {\n // TODO(misko): needs more logic to flatten tree.\n if (this._values === null) {\n this._values = this._valuesTree;\n return true;\n }\n return false;\n };\n /**\n * @template U\n * @param {?} fn\n * @return {?}\n */\n QueryList_.prototype.map = /**\n * @template U\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n throw new Error('Method not implemented.');\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n QueryList_.prototype.filter = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n throw new Error('Method not implemented.');\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n QueryList_.prototype.find = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n throw new Error('Method not implemented.');\n };\n /**\n * @template U\n * @param {?} fn\n * @param {?} init\n * @return {?}\n */\n QueryList_.prototype.reduce = /**\n * @template U\n * @param {?} fn\n * @param {?} init\n * @return {?}\n */\n function (fn, init) {\n throw new Error('Method not implemented.');\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n QueryList_.prototype.forEach = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n throw new Error('Method not implemented.');\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n QueryList_.prototype.some = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n throw new Error('Method not implemented.');\n };\n /**\n * @return {?}\n */\n QueryList_.prototype.toArray = /**\n * @return {?}\n */\n function () {\n ngDevMode && assertNotNull(this._values, 'refreshed');\n return /** @type {?} */ ((this._values));\n };\n /**\n * @return {?}\n */\n QueryList_.prototype.toString = /**\n * @return {?}\n */\n function () { throw new Error('Method not implemented.'); };\n /**\n * @param {?} res\n * @return {?}\n */\n QueryList_.prototype.reset = /**\n * @param {?} res\n * @return {?}\n */\n function (res) { throw new Error('Method not implemented.'); };\n /**\n * @return {?}\n */\n QueryList_.prototype.notifyOnChanges = /**\n * @return {?}\n */\n function () { throw new Error('Method not implemented.'); };\n /**\n * @return {?}\n */\n QueryList_.prototype.setDirty = /**\n * @return {?}\n */\n function () { throw new Error('Method not implemented.'); };\n /**\n * @return {?}\n */\n QueryList_.prototype.destroy = /**\n * @return {?}\n */\n function () { throw new Error('Method not implemented.'); };\n return QueryList_;\n}());\n\n/**\n * @param {?} query\n * @return {?}\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @enum {number} */\nvar RendererStyleFlags3 = {\n Important: 1,\n DashCase: 2,\n};\nRendererStyleFlags3[RendererStyleFlags3.Important] = \"Important\";\nRendererStyleFlags3[RendererStyleFlags3.DashCase] = \"DashCase\";\n/**\n * Object Oriented style of API needed to create elements and text nodes.\n *\n * This is the native browser API style, e.g. operations are methods on individual objects\n * like HTMLElement. With this style, no additional code is needed as a facade\n * (reducing payload size).\n *\n * @record\n */\n\n/**\n * Procedural style of API needed to create elements and text nodes.\n *\n * In non-native browser environments (e.g. platforms such as web-workers), this is the\n * facade that enables element manipulation. This also facilitates backwards compatibility\n * with Renderer2.\n * @record\n */\n\n/**\n * @record\n */\n\nvar domRendererFactory3 = {\n createRenderer: function (hostElement, rendererType) { return document; }\n};\n/**\n * Subset of API needed for appending elements and text nodes.\n * @record\n */\n\n/**\n * Subset of API needed for writing attributes, properties, and setting up\n * listeners on Element.\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @record\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive (D) sets a property on all component instances using this constant as a key and the\n * component's host node (LElement) as the value. This is used in methods like detectChanges to\n * facilitate jumping from an instance to the host node.\n */\nvar NG_HOST_SYMBOL = '__ngHostLNode__';\n/**\n * This property gets set before entering a template.\n *\n * This renderer can be one of two varieties of Renderer3:\n *\n * - ObjectedOrientedRenderer3\n *\n * This is the native browser API style, e.g. operations are methods on individual objects\n * like HTMLElement. With this style, no additional code is needed as a facade (reducing payload\n * size).\n *\n * - ProceduralRenderer3\n *\n * In non-native browser environments (e.g. platforms such as web-workers), this is the facade\n * that enables element manipulation. This also facilitates backwards compatibility with\n * Renderer2.\n */\nvar renderer;\nvar rendererFactory;\n/**\n * Used to set the parent property when nodes are created.\n */\nvar previousOrParentNode;\n/**\n * If `isParent` is:\n * - `true`: then `previousOrParentNode` points to a parent node.\n * - `false`: then `previousOrParentNode` points to previous node (sibling).\n */\nvar isParent;\n/**\n * The current template's static data (shared between all templates of a\n * given type).\n *\n * Each node's static data is stored at the same index that it's stored\n * in the data array. Any nodes that do not have static data store a null\n * value to avoid a sparse array.\n */\nvar ngStaticData;\n/**\n * State of the current view being processed.\n */\nvar currentView;\n// The initialization has to be after the `let`, otherwise `createViewState` can't see `let`.\ncurrentView = createViewState(/** @type {?} */ ((null)), /** @type {?} */ ((null)), []);\nvar currentQuery;\n/**\n * This property gets set before entering a template.\n */\nvar creationMode;\n/**\n * An array of nodes (text, element, container, etc), their bindings, and\n * any local variables that need to be stored between invocations.\n */\nvar data;\n/**\n * Points to the next binding index to read or write to.\n */\nvar bindingIndex;\n/**\n * When a view is destroyed, listeners need to be released\n * and onDestroy callbacks need to be called. This cleanup array\n * stores both listener data (in chunks of 4) and onDestroy data\n * (in chunks of 2), as they'll be processed at the same time.\n *\n * If it's a listener being stored:\n * 1st index is: event name to remove\n * 2nd index is: native element\n * 3rd index is: listener function\n * 4th index is: useCapture boolean\n *\n * If it's an onDestroy function:\n * 1st index is: onDestroy function\n * 2nd index is: context for function\n */\nvar cleanup;\n/**\n * Index in the data array at which view hooks begin to be stored.\n */\nvar viewHookStartIndex;\n/**\n * Swap the current state with a new state.\n *\n * For performance reasons we store the state in the top level of the module.\n * This way we minimize the number of properties to read. Whenever a new view\n * is entered we have to store the state for later, and when the view is\n * exited the state has to be restored\n *\n * @param {?} newViewState New state to become active\n * @param {?} host Element to which the View is a child of\n * @return {?} the previous state;\n */\nfunction enterView(newViewState, host) {\n var /** @type {?} */ oldViewState = currentView;\n data = newViewState.data;\n bindingIndex = newViewState.bindingStartIndex || 0;\n ngStaticData = newViewState.ngStaticData;\n creationMode = newViewState.creationMode;\n viewHookStartIndex = newViewState.viewHookStartIndex;\n cleanup = newViewState.cleanup;\n renderer = newViewState.renderer;\n if (host != null) {\n previousOrParentNode = host;\n isParent = true;\n }\n currentView = newViewState;\n return /** @type {?} */ ((oldViewState));\n}\n/**\n * Used in lieu of enterView to make it clear when we are exiting a child view. This makes\n * the direction of traversal (up or down the view tree) a bit clearer.\n * @param {?} newViewState\n * @return {?}\n */\nfunction leaveView(newViewState) {\n executeViewHooks();\n enterView(newViewState, null);\n}\n/**\n * @param {?} viewId\n * @param {?} renderer\n * @param {?} ngStaticData\n * @return {?}\n */\nfunction createViewState(viewId, renderer, ngStaticData) {\n var /** @type {?} */ newView = {\n parent: currentView,\n id: viewId,\n // -1 for component views\n node: /** @type {?} */ ((null)),\n // until we initialize it in createNode.\n data: [],\n ngStaticData: ngStaticData,\n cleanup: null,\n renderer: renderer,\n child: null,\n tail: null,\n next: null,\n bindingStartIndex: null,\n creationMode: true,\n viewHookStartIndex: null\n };\n return newView;\n}\n/**\n * @param {?} index\n * @param {?} type\n * @param {?} native\n * @param {?=} state\n * @return {?}\n */\nfunction createLNode(index, type, native, state) {\n var /** @type {?} */ parent = isParent ? previousOrParentNode :\n previousOrParentNode && /** @type {?} */ (previousOrParentNode.parent);\n var /** @type {?} */ query = (isParent ? currentQuery : previousOrParentNode && previousOrParentNode.query) ||\n parent && parent.query && parent.query.child();\n var /** @type {?} */ isState = state != null;\n var /** @type {?} */ node = {\n flags: type,\n native: /** @type {?} */ (native),\n view: currentView,\n parent: /** @type {?} */ (parent),\n child: null,\n next: null,\n nodeInjector: parent ? parent.nodeInjector : null,\n data: isState ? /** @type {?} */ (state) : null,\n query: query,\n staticData: null\n };\n if ((type & 2 /* ViewOrElement */) === 2 /* ViewOrElement */ && isState) {\n // Bit of a hack to bust through the readonly because there is a circular dep between\n // ViewState and LNode.\n ngDevMode && assertEqual((/** @type {?} */ (state)).node, null, 'viewState.node');\n (/** @type {?} */ ((state))).node = node;\n }\n if (index != null) {\n // We are Element or Container\n ngDevMode && assertEqual(data.length, index, 'data.length not in sequence');\n data[index] = node;\n // Every node adds a value to the static data array to avoid a sparse array\n if (index >= ngStaticData.length) {\n ngStaticData[index] = null;\n }\n else {\n node.staticData = /** @type {?} */ (ngStaticData[index]);\n }\n // Now link ourselves into the tree.\n if (isParent) {\n currentQuery = null;\n if (previousOrParentNode.view === currentView ||\n (previousOrParentNode.flags & 3 /* TYPE_MASK */) === 2 /* View */) {\n // We are in the same view, which means we are adding content node to the parent View.\n ngDevMode && assertEqual(previousOrParentNode.child, null, 'previousNode.child');\n previousOrParentNode.child = node;\n }\n else {\n // We are adding component view, so we don't link parent node child to this node.\n }\n }\n else if (previousOrParentNode) {\n ngDevMode && assertEqual(previousOrParentNode.next, null, 'previousNode.next');\n previousOrParentNode.next = node;\n }\n }\n previousOrParentNode = node;\n isParent = true;\n return node;\n}\n/**\n * Resets the application state.\n * @return {?}\n */\nfunction resetApplicationState() {\n isParent = false;\n previousOrParentNode = /** @type {?} */ ((null));\n}\n/**\n *\n * @template T\n * @param {?} hostNode\n * @param {?} template Template function with the instructions.\n * @param {?} context to pass into the template.\n * @param {?} providedRendererFactory\n * @param {?} host Existing node to render into.\n * @return {?}\n */\n\n/**\n * @template T\n * @param {?} node\n * @param {?} viewState\n * @param {?} componentOrContext\n * @param {?=} template\n * @return {?}\n */\nfunction renderComponentOrTemplate(node, viewState, componentOrContext, template) {\n var /** @type {?} */ oldView = enterView(viewState, node);\n try {\n if (rendererFactory.begin) {\n rendererFactory.begin();\n }\n if (template) {\n ngStaticData = template.ngStaticData || (template.ngStaticData = /** @type {?} */ ([]));\n template(/** @type {?} */ ((componentOrContext)), creationMode);\n }\n else {\n // Element was stored at 0 and directive was stored at 1 in renderComponent\n // so to refresh the component, r() needs to be called with (1, 0)\n (/** @type {?} */ (componentOrContext.constructor)).ngComponentDef.r(1, 0);\n }\n }\n finally {\n if (rendererFactory.end) {\n rendererFactory.end();\n }\n viewState.creationMode = false;\n leaveView(oldView);\n }\n}\n/**\n * @return {?}\n */\n\n/**\n * Makes a directive public to the DI system by adding it to an injector's bloom filter.\n *\n * @param {?} def The definition of the directive to be made public\n * @return {?}\n */\n\n/**\n * Searches for an instance of the given directive type up the injector tree and returns\n * that instance if found.\n *\n * If not found, it will propagate up to the next parent injector until the token\n * is found or the top is reached.\n *\n * Usage example (in factory function):\n *\n * class SomeDirective {\n * constructor(directive: DirectiveA) {}\n *\n * static ngDirectiveDef = defineDirective({\n * type: SomeDirective,\n * factory: () => new SomeDirective(inject(DirectiveA))\n * });\n * }\n *\n * @template T\n * @param {?} token The directive type to search for\n * @param {?=} flags Injection flags (e.g. CheckParent)\n * @return {?} The instance found\n */\n\n/**\n * Creates an ElementRef and stores it on the injector.\n * Or, if the ElementRef already exists, retrieves the existing ElementRef.\n *\n * @return {?} The ElementRef instance to use\n */\n\n/**\n * Creates a TemplateRef and stores it on the injector. Or, if the TemplateRef already\n * exists, retrieves the existing TemplateRef.\n *\n * @template T\n * @return {?} The TemplateRef instance to use\n */\n\n/**\n * Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef\n * already exists, retrieves the existing ViewContainerRef.\n *\n * @return {?} The ViewContainerRef instance to use\n */\n\n/**\n * Create DOM element. The instruction must later be followed by `elementEnd()` call.\n *\n * @param {?} index Index of the element in the data array\n * @param {?=} nameOrComponentDef Name of the DOM Node or `ComponentDef`.\n * @param {?=} attrs Statically bound set of attributes to be written into the DOM element on creation.\n * @param {?=} localName A name under which a given element is exported.\n *\n * Attributes are passed as an array of strings where elements with an even index hold an attribute\n * name and elements with an odd index hold an attribute value, ex.:\n * ['id', 'warning5', 'class', 'alert']\n * @return {?}\n */\nfunction elementStart(index, nameOrComponentDef, attrs, localName) {\n var /** @type {?} */ node;\n var /** @type {?} */ native;\n if (nameOrComponentDef == null) {\n // native node retrieval - used for exporting elements as tpl local variables (
    )\n var /** @type {?} */ node_1 = /** @type {?} */ ((data[index]));\n native = node_1 && (/** @type {?} */ (node_1)).native;\n }\n else {\n ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex');\n var /** @type {?} */ isHostElement = typeof nameOrComponentDef !== 'string';\n var /** @type {?} */ name_1 = isHostElement ? (/** @type {?} */ (nameOrComponentDef)).tag : /** @type {?} */ (nameOrComponentDef);\n if (name_1 === null) {\n // TODO: future support for nameless components.\n throw 'for now name is required';\n }\n else {\n native = renderer.createElement(name_1);\n var /** @type {?} */ componentView = null;\n if (isHostElement) {\n var /** @type {?} */ ngStaticData_1 = getTemplateStatic((/** @type {?} */ (nameOrComponentDef)).template);\n componentView = addToViewTree(createViewState(-1, rendererFactory.createRenderer(native, (/** @type {?} */ (nameOrComponentDef)).rendererType), ngStaticData_1));\n }\n // Only component views should be added to the view tree directly. Embedded views are\n // accessed through their containers because they may be removed / re-added later.\n node = createLNode(index, 3 /* Element */, native, componentView);\n if (node.staticData == null) {\n ngDevMode && assertDataInRange(index - 1);\n node.staticData = ngStaticData[index] =\n createNodeStatic(name_1, attrs || null, null, localName || null);\n }\n if (attrs)\n setUpAttributes(native, attrs);\n appendChild(/** @type {?} */ ((node.parent)), native, currentView);\n }\n }\n return native;\n}\n/**\n * Gets static data from a template function or creates a new static\n * data array if it doesn't already exist.\n *\n * @param {?} template The template from which to get static data\n * @return {?} NgStaticData\n */\nfunction getTemplateStatic(template) {\n return template.ngStaticData || (template.ngStaticData = /** @type {?} */ ([]));\n}\n/**\n * @param {?} native\n * @param {?} attrs\n * @return {?}\n */\nfunction setUpAttributes(native, attrs) {\n ngDevMode && assertEqual(attrs.length % 2, 0, 'attrs.length % 2');\n var /** @type {?} */ isProceduralRenderer = (/** @type {?} */ (renderer)).setAttribute;\n for (var /** @type {?} */ i = 0; i < attrs.length; i += 2) {\n isProceduralRenderer ? /** @type {?} */ (((/** @type {?} */ (renderer)).setAttribute))(native, attrs[i], attrs[i | 1]) :\n native.setAttribute(attrs[i], attrs[i | 1]);\n }\n}\n/**\n * @param {?} text\n * @param {?} token\n * @return {?}\n */\nfunction createError(text, token) {\n return new Error(\"Renderer: \" + text + \" [\" + stringify$1(token) + \"]\");\n}\n/**\n * Locates the host native element, used for bootstrapping existing nodes into rendering pipeline.\n *\n * @param {?} factory\n * @param {?} elementOrSelector Render element or CSS selector to locate the element.\n * @return {?}\n */\nfunction locateHostElement(factory, elementOrSelector) {\n ngDevMode && assertDataInRange(-1);\n rendererFactory = factory;\n var /** @type {?} */ defaultRenderer = factory.createRenderer(null, null);\n var /** @type {?} */ rNode = typeof elementOrSelector === 'string' ?\n ((/** @type {?} */ (defaultRenderer)).selectRootElement ?\n (/** @type {?} */ (defaultRenderer)).selectRootElement(elementOrSelector) : /** @type {?} */ (((/** @type {?} */ (defaultRenderer)).querySelector))(elementOrSelector)) :\n elementOrSelector;\n if (ngDevMode && !rNode) {\n if (typeof elementOrSelector === 'string') {\n throw createError('Host node with selector not found:', elementOrSelector);\n }\n else {\n throw createError('Host node is required:', elementOrSelector);\n }\n }\n return rNode;\n}\n/**\n * Creates the host LNode..\n *\n * @param {?} rNode Render host element.\n * @param {?} def\n * @return {?}\n */\nfunction hostElement(rNode, def) {\n resetApplicationState();\n createLNode(0, 3 /* Element */, rNode, createViewState(-1, renderer, getTemplateStatic(def.template)));\n}\n/**\n * Adds an event listener to the current node.\n *\n * If an output exists on one of the node's directives, it also subscribes to the output\n * and saves the subscription for later cleanup.\n *\n * @param {?} eventName Name of the event\n * @param {?} listener The function to be called when event emits\n * @param {?=} useCapture Whether or not to use capture in event listener.\n * @return {?}\n */\n\n/**\n * Mark the end of the element.\n * @return {?}\n */\nfunction elementEnd() {\n if (isParent) {\n isParent = false;\n }\n else {\n ngDevMode && assertHasParent();\n previousOrParentNode = /** @type {?} */ ((previousOrParentNode.parent));\n }\n ngDevMode && assertNodeType(previousOrParentNode, 3 /* Element */);\n var /** @type {?} */ query = previousOrParentNode.query;\n query && query.addNode(previousOrParentNode);\n}\n/**\n * Update an attribute on an Element. This is used with a `bind` instruction.\n *\n * @param {?} index The index of the element to update in the data array\n * @param {?} attrName Name of attribute. Because it is going to DOM, this is not subject to\n * renaming as port of minification.\n * @param {?} value Value to write. This value will go through stringification.\n * @return {?}\n */\n\n/**\n * Update a property on an Element.\n *\n * If the property name also exists as an input property on one of the element's directives,\n * the component property will be set instead of the element property. This check must\n * be conducted at runtime so child components that add new \\@Inputs don't have to be re-compiled.\n *\n * @template T\n * @param {?} index The index of the element to update in the data array\n * @param {?} propName Name of property. Because it is going to DOM, this is not subject to\n * renaming as part of minification.\n * @param {?} value New value to write.\n * @return {?}\n */\nfunction elementProperty(index, propName, value) {\n if (value === NO_CHANGE)\n return;\n var /** @type {?} */ node = /** @type {?} */ (data[index]);\n var /** @type {?} */ staticData = /** @type {?} */ ((node.staticData));\n // if staticData.inputs is undefined, a listener has created output staticData, but inputs haven't\n // yet been checked\n if (staticData.inputs === undefined) {\n // mark inputs as checked\n staticData.inputs = null;\n staticData = generatePropertyAliases(node.flags, staticData, true);\n }\n var /** @type {?} */ inputData = staticData.inputs;\n var /** @type {?} */ dataValue;\n if (inputData && (dataValue = inputData[propName])) {\n setInputsForProperty(dataValue, value);\n }\n else {\n var /** @type {?} */ native = node.native;\n (/** @type {?} */ (renderer)).setProperty ?\n (/** @type {?} */ (renderer)).setProperty(native, propName, value) :\n native.setProperty ? native.setProperty(propName, value) :\n (/** @type {?} */ (native))[propName] = value;\n }\n}\n/**\n * Constructs a LNodeStatic object from the arguments.\n *\n * @param {?} tagName\n * @param {?} attrs\n * @param {?} containerStatic\n * @param {?} localName\n * @return {?} the LNodeStatic object\n */\nfunction createNodeStatic(tagName, attrs, containerStatic, localName) {\n return {\n tagName: tagName,\n attrs: attrs,\n localNames: localName ? [localName, -1] : null,\n initialInputs: undefined,\n inputs: undefined,\n outputs: undefined,\n containerStatic: containerStatic\n };\n}\n/**\n * Given a list of directive indices and minified input names, sets the\n * input properties on the corresponding directives.\n * @param {?} inputs\n * @param {?} value\n * @return {?}\n */\nfunction setInputsForProperty(inputs, value) {\n for (var /** @type {?} */ i = 0; i < inputs.length; i += 2) {\n ngDevMode && assertDataInRange(/** @type {?} */ (inputs[i]));\n data[/** @type {?} */ (inputs[i])][inputs[i | 1]] = value;\n }\n}\n/**\n * This function consolidates all the inputs or outputs defined by directives\n * on this node into one object and stores it in ngStaticData so it can\n * be shared between all templates of this type.\n *\n * @param {?} flags\n * @param {?} data\n * @param {?=} isInputData\n * @return {?}\n */\nfunction generatePropertyAliases(flags, data, isInputData) {\n if (isInputData === void 0) { isInputData = false; }\n var /** @type {?} */ start = flags >> 12;\n var /** @type {?} */ size = (flags & 4092 /* SIZE_MASK */) >> 2;\n for (var /** @type {?} */ i = start, /** @type {?} */ ii = start + size; i < ii; i++) {\n var /** @type {?} */ directiveDef = /** @type {?} */ (((ngStaticData))[i]);\n var /** @type {?} */ propertyAliasMap = isInputData ? directiveDef.inputs : directiveDef.outputs;\n for (var /** @type {?} */ publicName in propertyAliasMap) {\n if (propertyAliasMap.hasOwnProperty(publicName)) {\n var /** @type {?} */ internalName = propertyAliasMap[publicName];\n var /** @type {?} */ staticDirData = isInputData ? (data.inputs || (data.inputs = {})) :\n (data.outputs || (data.outputs = {}));\n var /** @type {?} */ hasProperty = staticDirData.hasOwnProperty(publicName);\n hasProperty ? staticDirData[publicName].push(i, internalName) :\n (staticDirData[publicName] = [i, internalName]);\n }\n }\n }\n return data;\n}\n/**\n * Add or remove a class in a classList.\n *\n * This instruction is meant to handle the [class.foo]=\"exp\" case\n *\n * @template T\n * @param {?} index The index of the element to update in the data array\n * @param {?} className Name of class to toggle. Because it is going to DOM, this is not subject to\n * renaming as part of minification.\n * @param {?} value A value indicating if a given class should be added or removed.\n * @return {?}\n */\n\n/**\n * Update a given style on an Element.\n *\n * @template T\n * @param {?} index Index of the element to change in the data array\n * @param {?} styleName Name of property. Because it is going to DOM this is not subject to\n * renaming as part of minification.\n * @param {?} value New value to write (null to remove).\n * @param {?=} suffix Suffix to add to style's value (optional).\n * @return {?}\n */\nfunction elementStyle(index, styleName, value, suffix) {\n if (value !== NO_CHANGE) {\n var /** @type {?} */ lElement = /** @type {?} */ (data[index]);\n if (value == null) {\n (/** @type {?} */ (renderer)).removeStyle ?\n (/** @type {?} */ (renderer))\n .removeStyle(lElement.native, styleName, RendererStyleFlags3.DashCase) :\n lElement.native.style.removeProperty(styleName);\n }\n else {\n (/** @type {?} */ (renderer)).setStyle ?\n (/** @type {?} */ (renderer))\n .setStyle(lElement.native, styleName, suffix ? stringify$1(value) + suffix : stringify$1(value), RendererStyleFlags3.DashCase) :\n lElement.native.style.setProperty(styleName, suffix ? stringify$1(value) + suffix : stringify$1(value));\n }\n }\n}\n/**\n * Create static text node\n *\n * @param {?} index Index of the node in the data array.\n * @param {?=} value Value to write. This value will be stringified.\n * If value is not provided than the actual creation of the text node is delayed.\n * @return {?}\n */\nfunction text(index, value) {\n ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex');\n var /** @type {?} */ textNode = value != null ?\n ((/** @type {?} */ (renderer)).createText ?\n (/** @type {?} */ (renderer)).createText(stringify$1(value)) : /** @type {?} */ (((/** @type {?} */ (renderer)).createTextNode))(stringify$1(value))) :\n null;\n var /** @type {?} */ node = createLNode(index, 3 /* Element */, textNode);\n // Text nodes are self closing.\n isParent = false;\n appendChild(/** @type {?} */ ((node.parent)), textNode, currentView);\n}\n/**\n * Create text node with binding\n * Bindings should be handled externally with the proper bind(1-8) method\n *\n * @template T\n * @param {?} index Index of the node in the data array.\n * @param {?} value Stringified value to write.\n * @return {?}\n */\nfunction textBinding(index, value) {\n // TODO(misko): I don't think index < nodes.length check is needed here.\n var /** @type {?} */ existingNode = index < data.length && /** @type {?} */ (data[index]);\n if (existingNode && existingNode.native) {\n // If DOM node exists and value changed, update textContent\n value !== NO_CHANGE &&\n ((/** @type {?} */ (renderer)).setValue ?\n (/** @type {?} */ (renderer)).setValue(existingNode.native, stringify$1(value)) :\n existingNode.native.textContent = stringify$1(value));\n }\n else if (existingNode) {\n // Node was created but DOM node creation was delayed. Create and append now.\n existingNode.native =\n ((/** @type {?} */ (renderer)).createText ?\n (/** @type {?} */ (renderer)).createText(stringify$1(value)) : /** @type {?} */ (((/** @type {?} */ (renderer)).createTextNode))(stringify$1(value)));\n insertChild(existingNode, currentView);\n }\n else {\n text(index, value);\n }\n}\n/**\n * @template T\n * @param {?} index\n * @param {?=} directive\n * @param {?=} directiveDef\n * @param {?=} localName\n * @return {?}\n */\nfunction directive(index, directive, directiveDef, localName) {\n var /** @type {?} */ instance;\n if (directive == null) {\n // return existing\n ngDevMode && assertDataInRange(index);\n instance = data[index];\n }\n else {\n ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex');\n ngDevMode && assertPreviousIsParent();\n var /** @type {?} */ flags = /** @type {?} */ ((previousOrParentNode)).flags;\n var /** @type {?} */ size = flags & 4092;\n if (size === 0) {\n flags =\n (index << 12 /* INDX_SHIFT */) | 4 /* SIZE_SKIP */ | flags & 3 /* TYPE_MASK */;\n }\n else {\n flags += 4 /* SIZE_SKIP */;\n } /** @type {?} */\n ((previousOrParentNode)).flags = flags;\n ngDevMode && assertDataInRange(index - 1);\n Object.defineProperty(directive, NG_HOST_SYMBOL, { enumerable: false, value: previousOrParentNode });\n data[index] = instance = directive;\n if (index >= ngStaticData.length) {\n ngStaticData[index] = /** @type {?} */ ((directiveDef));\n if (localName) {\n ngDevMode &&\n assertNotNull(previousOrParentNode.staticData, 'previousOrParentNode.staticData');\n var /** @type {?} */ nodeStaticData = /** @type {?} */ ((/** @type {?} */ ((previousOrParentNode)).staticData));\n (nodeStaticData.localNames || (nodeStaticData.localNames = [])).push(localName, index);\n }\n }\n var /** @type {?} */ diPublic_1 = /** @type {?} */ ((directiveDef)).diPublic;\n if (diPublic_1) {\n diPublic_1(/** @type {?} */ ((directiveDef)));\n }\n var /** @type {?} */ staticData = /** @type {?} */ ((previousOrParentNode.staticData));\n if (staticData && staticData.attrs) {\n setInputsFromAttrs(instance, /** @type {?} */ ((directiveDef)).inputs, staticData);\n }\n }\n return instance;\n}\n/**\n * Sets initial input properties on directive instances from attribute data\n *\n * @template T\n * @param {?} instance Instance of the directive on which to set the initial inputs\n * @param {?} inputs The list of inputs from the directive def\n * @param {?} staticData The static data for this node\n * @return {?}\n */\nfunction setInputsFromAttrs(instance, inputs, staticData) {\n var /** @type {?} */ directiveIndex = ((previousOrParentNode.flags & 4092 /* SIZE_MASK */) >> 2 /* SIZE_SHIFT */) - 1;\n var /** @type {?} */ initialInputData = /** @type {?} */ (staticData.initialInputs);\n if (initialInputData === undefined || directiveIndex >= initialInputData.length) {\n initialInputData = generateInitialInputs(directiveIndex, inputs, staticData);\n }\n var /** @type {?} */ initialInputs = initialInputData[directiveIndex];\n if (initialInputs) {\n for (var /** @type {?} */ i = 0; i < initialInputs.length; i += 2) {\n (/** @type {?} */ (instance))[initialInputs[i]] = initialInputs[i | 1];\n }\n }\n}\n/**\n * Generates initialInputData for a node and stores it in the template's static storage\n * so subsequent template invocations don't have to recalculate it.\n *\n * initialInputData is an array containing values that need to be set as input properties\n * for directives on this node, but only once on creation. We need this array to support\n * the case where you set an \\@Input property of a directive using attribute-like syntax.\n * e.g. if you have a `name` \\@Input, you can set it once like this:\n *\n * \n *\n * @param {?} directiveIndex Index to store the initial input data\n * @param {?} inputs The list of inputs from the directive def\n * @param {?} staticData The static data on this node\n * @return {?}\n */\nfunction generateInitialInputs(directiveIndex, inputs, staticData) {\n var /** @type {?} */ initialInputData = staticData.initialInputs || (staticData.initialInputs = []);\n initialInputData[directiveIndex] = null;\n var /** @type {?} */ attrs = /** @type {?} */ ((staticData.attrs));\n for (var /** @type {?} */ i = 0; i < attrs.length; i += 2) {\n var /** @type {?} */ attrName = attrs[i];\n var /** @type {?} */ minifiedInputName = inputs[attrName];\n if (minifiedInputName !== undefined) {\n var /** @type {?} */ inputsToStore = initialInputData[directiveIndex] || (initialInputData[directiveIndex] = []);\n inputsToStore.push(minifiedInputName, attrs[i | 1]);\n }\n }\n return initialInputData;\n}\n/**\n * @param {?} lifecycle\n * @param {?=} self\n * @param {?=} method\n * @return {?}\n */\n\n/**\n * Iterates over view hook functions and calls them.\n * @return {?}\n */\nfunction executeViewHooks() {\n if (viewHookStartIndex == null)\n return;\n // Instead of using splice to remove init hooks after their first run (expensive), we\n // shift over the AFTER_CHECKED hooks as we call them and truncate once at the end.\n var /** @type {?} */ checkIndex = /** @type {?} */ (viewHookStartIndex);\n var /** @type {?} */ writeIndex = checkIndex;\n while (checkIndex < data.length) {\n // Call lifecycle hook with its context\n data[checkIndex + 1].call(data[checkIndex + 2]);\n if (data[checkIndex] === 16 /* AFTER_VIEW_CHECKED */) {\n // We know if the writeIndex falls behind that there is an init that needs to\n // be overwritten.\n if (writeIndex < checkIndex) {\n data[writeIndex] = data[checkIndex];\n data[writeIndex + 1] = data[checkIndex + 1];\n data[writeIndex + 2] = data[checkIndex + 2];\n }\n writeIndex += 3;\n }\n checkIndex += 3;\n }\n // Truncate once at the writeIndex\n data.length = writeIndex;\n}\n/**\n * Creates an LContainer.\n *\n * Only `LView`s can go into `LContainer`.\n *\n * @param {?} index The index of the container in the data array\n * @param {?=} template Optional inline template\n * @param {?=} tagName The name of the container element, if applicable\n * @param {?=} attrs The attrs attached to the container, if applicable\n * @param {?=} localName\n * @return {?}\n */\nfunction containerStart(index, template, tagName, attrs, localName) {\n ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex');\n // If the direct parent of the container is a view, its views (including its comment)\n // will need to be added through insertView() when its parent view is being inserted.\n // For now, it is marked \"headless\" so we know to append its views later.\n var /** @type {?} */ comment = renderer.createComment(ngDevMode ? 'container' : '');\n var /** @type {?} */ renderParent = null;\n var /** @type {?} */ currentParent = isParent ? previousOrParentNode : /** @type {?} */ ((previousOrParentNode.parent));\n ngDevMode && assertNotEqual(currentParent, null, 'currentParent');\n if (appendChild(currentParent, comment, currentView)) {\n // we are adding to an Element which is either:\n // - Not a component (will not be re-projected, just added)\n // - View of the Component\n renderParent = /** @type {?} */ (currentParent);\n }\n var /** @type {?} */ node = createLNode(index, 0 /* Container */, comment, /** @type {?} */ ({\n views: [],\n nextIndex: 0, renderParent: renderParent,\n template: template == null ? null : template,\n next: null,\n parent: currentView\n }));\n if (node.staticData == null) {\n node.staticData = ngStaticData[index] =\n createNodeStatic(tagName || null, attrs || null, [], localName || null);\n }\n // Containers are added to the current view tree instead of their embedded views\n // because views can be removed and re-inserted.\n addToViewTree(node.data);\n}\n/**\n * @return {?}\n */\nfunction containerEnd() {\n if (isParent) {\n isParent = false;\n }\n else {\n ngDevMode && assertHasParent();\n previousOrParentNode = /** @type {?} */ ((previousOrParentNode.parent));\n }\n ngDevMode && assertNodeType(previousOrParentNode, 0 /* Container */);\n var /** @type {?} */ query = previousOrParentNode.query;\n query && query.addNode(previousOrParentNode);\n}\n/**\n * Sets a container up to receive views.\n *\n * @param {?} index The index of the container in the data array\n * @return {?}\n */\nfunction containerRefreshStart(index) {\n ngDevMode && assertDataInRange(index);\n previousOrParentNode = /** @type {?} */ (data[index]);\n ngDevMode && assertNodeType(previousOrParentNode, 0 /* Container */);\n isParent = true;\n (/** @type {?} */ (previousOrParentNode)).data.nextIndex = 0;\n}\n/**\n * Marks the end of the LContainer.\n *\n * Marking the end of ViewContainer is the time when to child Views get inserted or removed.\n * @return {?}\n */\nfunction containerRefreshEnd() {\n if (isParent) {\n isParent = false;\n }\n else {\n ngDevMode && assertNodeType(previousOrParentNode, 2 /* View */);\n ngDevMode && assertHasParent();\n previousOrParentNode = /** @type {?} */ ((previousOrParentNode.parent));\n }\n ngDevMode && assertNodeType(previousOrParentNode, 0 /* Container */);\n var /** @type {?} */ container = /** @type {?} */ (previousOrParentNode);\n ngDevMode && assertNodeType(container, 0 /* Container */);\n var /** @type {?} */ nextIndex = container.data.nextIndex;\n while (nextIndex < container.data.views.length) {\n // remove extra view.\n removeView(container, nextIndex);\n }\n}\n/**\n * Creates an LView.\n *\n * @param {?} viewBlockId The ID of this view\n * @return {?} Whether or not this view is in creation mode\n */\nfunction viewStart(viewBlockId) {\n var /** @type {?} */ container = /** @type {?} */ ((isParent ? previousOrParentNode : /** @type {?} */ ((previousOrParentNode.parent))));\n ngDevMode && assertNodeType(container, 0 /* Container */);\n var /** @type {?} */ containerState = container.data;\n var /** @type {?} */ views = containerState.views;\n var /** @type {?} */ existingView = !creationMode && containerState.nextIndex < views.length && views[containerState.nextIndex];\n var /** @type {?} */ viewUpdateMode = existingView && viewBlockId === (/** @type {?} */ (existingView)).data.id;\n if (viewUpdateMode) {\n previousOrParentNode = views[containerState.nextIndex++];\n ngDevMode && assertNodeType(previousOrParentNode, 2 /* View */);\n isParent = true;\n enterView((/** @type {?} */ (existingView)).data, /** @type {?} */ (previousOrParentNode));\n }\n else {\n // When we create a new View, we always reset the state of the instructions.\n var /** @type {?} */ newViewState = createViewState(viewBlockId, renderer, initViewStaticData(viewBlockId, container));\n enterView(newViewState, createLNode(null, 2 /* View */, null, newViewState));\n containerState.nextIndex++;\n }\n return !viewUpdateMode;\n}\n/**\n * Initialize the static data for the active view.\n *\n * Each embedded view needs to set the global ngStaticData variable to the static data for\n * that view. Otherwise, the view's static data for a particular node would overwrite\n * the staticdata for a node in the view above it with the same index (since it's in the\n * same template).\n *\n * @param {?} viewIndex The index of the view's static data in containerStatic\n * @param {?} parent The parent container in which to look for the view's static data\n * @return {?} NgStaticData\n */\nfunction initViewStaticData(viewIndex, parent) {\n ngDevMode && assertNodeType(parent, 0 /* Container */);\n var /** @type {?} */ containerStatic = (/** @type {?} */ (((parent)).staticData)).containerStatic;\n if (viewIndex >= containerStatic.length || containerStatic[viewIndex] == null) {\n containerStatic[viewIndex] = [];\n }\n return containerStatic[viewIndex];\n}\n/**\n * Marks the end of the LView.\n * @return {?}\n */\nfunction viewEnd() {\n isParent = false;\n var /** @type {?} */ viewNode = previousOrParentNode = /** @type {?} */ (currentView.node);\n var /** @type {?} */ container = /** @type {?} */ (previousOrParentNode.parent);\n ngDevMode && assertNodeType(viewNode, 2 /* View */);\n ngDevMode && assertNodeType(container, 0 /* Container */);\n var /** @type {?} */ containerState = container.data;\n var /** @type {?} */ previousView = containerState.nextIndex <= containerState.views.length ? /** @type {?} */ (containerState.views[containerState.nextIndex - 1]) :\n null;\n var /** @type {?} */ viewIdChanged = previousView == null ? true : previousView.data.id !== viewNode.data.id;\n if (viewIdChanged) {\n insertView(container, viewNode, containerState.nextIndex - 1);\n currentView.creationMode = false;\n }\n leaveView(/** @type {?} */ ((/** @type {?} */ ((currentView)).parent)));\n ngDevMode && assertEqual(isParent, false, 'isParent');\n ngDevMode && assertNodeType(previousOrParentNode, 2 /* View */);\n}\n/**\n * Refreshes the component view.\n *\n * In other words, enters the component's view and processes it to update bindings, queries, etc.\n *\n * @param directiveIndex\n * @param elementIndex\n * @param template\n */\nvar componentRefresh = function (directiveIndex, elementIndex, template) {\n ngDevMode && assertDataInRange(elementIndex);\n var /** @type {?} */ element = /** @type {?} */ (((data))[elementIndex]);\n ngDevMode && assertNodeType(element, 3 /* Element */);\n ngDevMode && assertNotEqual(element.data, null, 'isComponent');\n ngDevMode && assertDataInRange(directiveIndex);\n var /** @type {?} */ hostView = /** @type {?} */ ((element.data));\n ngDevMode && assertNotEqual(hostView, null, 'hostView');\n var /** @type {?} */ directive = data[directiveIndex];\n var /** @type {?} */ oldView = enterView(hostView, element);\n try {\n template(directive, creationMode);\n }\n finally {\n hostView.creationMode = false;\n leaveView(oldView);\n }\n};\n/**\n * Instruction to distribute projectable nodes among occurrences in a given template.\n * It takes all the selectors from the entire component's template and decides where\n * each projected node belongs (it re-distributes nodes among \"buckets\" where each \"bucket\" is\n * backed by a selector).\n *\n * @param {?=} selectors\n * @return {?}\n */\n\n/**\n * Inserts previously re-distributed projected nodes. This instruction must be preceded by a call\n * to the projectionDef instruction.\n *\n * @param {?} nodeIndex\n * @param {?} localIndex - index under which distribution of projected nodes was memorized\n * @param {?=} selectorIndex - 0 means without any selector\n * @return {?}\n */\n\n/**\n * Adds a ViewState or a ContainerState to the end of the current view tree.\n *\n * This structure will be used to traverse through nested views to remove listeners\n * and call onDestroy callbacks.\n *\n * @template T\n * @param {?} state The ViewState or ContainerState to add to the view tree\n * @return {?} The state passed in\n */\nfunction addToViewTree(state) {\n currentView.tail ? (currentView.tail.next = state) : (currentView.child = state);\n currentView.tail = state;\n return state;\n}\n/**\n * A special value which designates that a value has not changed.\n */\nvar NO_CHANGE = /** @type {?} */ ({});\n/**\n * Create interpolation bindings with variable number of arguments.\n *\n * If any of the arguments change, then the interpolation is concatenated\n * and causes an update.\n *\n * @param {?} values an array of values to diff.\n * @return {?}\n */\n\n/**\n * Create a single value binding without interpolation.\n *\n * @template T\n * @param {?} value Value to diff\n * @return {?}\n */\nfunction bind(value) {\n var /** @type {?} */ different;\n if (different = creationMode) {\n if (typeof currentView.bindingStartIndex !== 'number') {\n bindingIndex = currentView.bindingStartIndex = data.length;\n }\n data[bindingIndex++] = value;\n }\n else {\n if (different = value !== NO_CHANGE && isDifferent(data[bindingIndex], value)) {\n data[bindingIndex] = value;\n }\n bindingIndex++;\n }\n return different ? value : NO_CHANGE;\n}\n/**\n * Create an interpolation bindings with 1 arguments.\n *\n * @param {?} prefix static value used for concatenation only.\n * @param {?} value value checked for change.\n * @param {?} suffix static value used for concatenation only.\n * @return {?}\n */\nfunction bind1(prefix, value, suffix) {\n return bind(value) === NO_CHANGE ? NO_CHANGE : prefix + stringify$1(value) + suffix;\n}\n/**\n * Create an interpolation bindings with 2 arguments.\n *\n * @param {?} prefix\n * @param {?} v0 value checked for change\n * @param {?} i0\n * @param {?} v1 value checked for change\n * @param {?} suffix\n * @return {?}\n */\n\n/**\n * Create an interpolation bindings with 3 arguments.\n *\n * @param {?} prefix\n * @param {?} v0\n * @param {?} i0\n * @param {?} v1\n * @param {?} i1\n * @param {?} v2\n * @param {?} suffix\n * @return {?}\n */\n\n/**\n * Create an interpolation binding with 4 arguments.\n *\n * @param {?} prefix\n * @param {?} v0\n * @param {?} i0\n * @param {?} v1\n * @param {?} i1\n * @param {?} v2\n * @param {?} i2\n * @param {?} v3\n * @param {?} suffix\n * @return {?}\n */\n\n/**\n * Create an interpolation binding with 5 arguments.\n *\n * @param {?} prefix\n * @param {?} v0\n * @param {?} i0\n * @param {?} v1\n * @param {?} i1\n * @param {?} v2\n * @param {?} i2\n * @param {?} v3\n * @param {?} i3\n * @param {?} v4\n * @param {?} suffix\n * @return {?}\n */\n\n/**\n * Create an interpolation binding with 6 arguments.\n *\n * @param {?} prefix\n * @param {?} v0\n * @param {?} i0\n * @param {?} v1\n * @param {?} i1\n * @param {?} v2\n * @param {?} i2\n * @param {?} v3\n * @param {?} i3\n * @param {?} v4\n * @param {?} i4\n * @param {?} v5\n * @param {?} suffix\n * @return {?}\n */\n\n/**\n * Create an interpolation binding with 7 arguments.\n *\n * @param {?} prefix\n * @param {?} v0\n * @param {?} i0\n * @param {?} v1\n * @param {?} i1\n * @param {?} v2\n * @param {?} i2\n * @param {?} v3\n * @param {?} i3\n * @param {?} v4\n * @param {?} i4\n * @param {?} v5\n * @param {?} i5\n * @param {?} v6\n * @param {?} suffix\n * @return {?}\n */\n\n/**\n * Create an interpolation binding with 8 arguments.\n *\n * @param {?} prefix\n * @param {?} v0\n * @param {?} i0\n * @param {?} v1\n * @param {?} i1\n * @param {?} v2\n * @param {?} i2\n * @param {?} v3\n * @param {?} i3\n * @param {?} v4\n * @param {?} i4\n * @param {?} v5\n * @param {?} i5\n * @param {?} v6\n * @param {?} i6\n * @param {?} v7\n * @param {?} suffix\n * @return {?}\n */\n\n/**\n * @template T\n * @param {?} index\n * @param {?=} value\n * @return {?}\n */\n\n/**\n * @template T\n * @param {?} predicate\n * @param {?=} descend\n * @param {?=} read\n * @return {?}\n */\n\n/**\n * @return {?}\n */\nfunction assertPreviousIsParent() {\n assertEqual(isParent, true, 'isParent');\n}\n/**\n * @return {?}\n */\nfunction assertHasParent() {\n assertNotEqual(previousOrParentNode.parent, null, 'isParent');\n}\n/**\n * @param {?} index\n * @param {?=} arr\n * @return {?}\n */\nfunction assertDataInRange(index, arr) {\n if (arr == null)\n arr = data;\n assertLessThan(arr ? arr.length : 0, index, 'data.length');\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Options that control how the component should be bootstrapped.\n * @record\n */\n\n/**\n * Bootstraps a component, then creates and returns a `ComponentRef` for that component.\n *\n * @template T\n * @param {?} componentType Component to bootstrap\n * @param {?} opts\n * @return {?}\n */\n\n// TODO: A hack to not pull in the NullInjector from @angular/core.\n\n/**\n * Bootstraps a Component into an existing host element and returns an instance\n * of the component.\n *\n * @template T\n * @param {?} componentType Component to bootstrap\n * @param {?=} opts\n * @return {?}\n */\nfunction renderComponent(componentType, opts) {\n if (opts === void 0) { opts = {}; }\n var /** @type {?} */ rendererFactory = opts.rendererFactory || domRendererFactory3;\n var /** @type {?} */ componentDef = componentType.ngComponentDef;\n var /** @type {?} */ component;\n var /** @type {?} */ hostNode = locateHostElement(rendererFactory, opts.host || componentDef.tag);\n var /** @type {?} */ oldView = enterView(createViewState(-1, rendererFactory.createRenderer(hostNode, componentDef.rendererType), []), /** @type {?} */ ((null)));\n try {\n // Create element node at index 0 in data array\n hostElement(hostNode, componentDef);\n // Create directive instance with n() and store at index 1 in data array (el is 0)\n component = directive(1, componentDef.n(), componentDef);\n }\n finally {\n leaveView(oldView);\n }\n opts.features && opts.features.forEach(function (feature) { return feature(component, componentDef); });\n detectChanges(component);\n return component;\n}\n/**\n * @template T\n * @param {?} component\n * @return {?}\n */\nfunction detectChanges(component) {\n ngDevMode && assertNotNull(component, 'component');\n var /** @type {?} */ hostNode = /** @type {?} */ ((/** @type {?} */ (component))[NG_HOST_SYMBOL]);\n if (ngDevMode && !hostNode) {\n createError('Not a directive instance', component);\n }\n ngDevMode && assertNotNull(hostNode.data, 'hostNode.data');\n renderComponentOrTemplate(hostNode, hostNode.view, component);\n isDirty = false;\n}\nvar isDirty = false;\n/**\n * @template T\n * @param {?} component\n * @param {?=} scheduler\n * @return {?}\n */\n\n/**\n * @template T\n * @param {?} component\n * @return {?}\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Create a component definition object.\n *\n *\n * # Example\n * ```\n * class MyDirective {\n * // Generated by Angular Template Compiler\n * // [Symbol] syntax will not be supported by TypeScript until v2.7\n * static [COMPONENT_DEF_SYMBOL] = defineComponent({\n * ...\n * });\n * }\n * ```\n * @template T\n * @param {?} componentDefinition\n * @return {?}\n */\nfunction defineComponent(componentDefinition) {\n var /** @type {?} */ def = /** @type {?} */ ({\n type: componentDefinition.type,\n diPublic: null,\n n: componentDefinition.factory,\n tag: (/** @type {?} */ (componentDefinition)).tag || /** @type {?} */ ((null)),\n template: (/** @type {?} */ (componentDefinition)).template || /** @type {?} */ ((null)),\n r: componentDefinition.refresh ||\n function (d, e) { componentRefresh(d, e, componentDefinition.template); },\n h: componentDefinition.hostBindings || noop$1,\n inputs: invertObject(componentDefinition.inputs),\n outputs: invertObject(componentDefinition.outputs),\n methods: invertObject(componentDefinition.methods),\n rendererType: resolveRendererType2(componentDefinition.rendererType) || null,\n });\n var /** @type {?} */ feature = componentDefinition.features;\n feature && feature.forEach(function (fn) { return fn(def); });\n return def;\n}\n/**\n * @template T\n * @param {?} definition\n * @return {?}\n */\n\n/**\n * @template T\n * @param {?} definition\n * @return {?}\n */\n\nvar EMPTY$1 = {};\n/**\n * @return {?}\n */\nfunction noop$1() { }\n/**\n * Swaps the keys and values of an object.\n * @param {?} obj\n * @return {?}\n */\nfunction invertObject(obj) {\n if (obj == null)\n return EMPTY$1;\n var /** @type {?} */ newObj = {};\n for (var /** @type {?} */ minifiedKey in obj) {\n newObj[obj[minifiedKey]] = minifiedKey;\n }\n return newObj;\n}\n/**\n * Create a directive definition object.\n *\n * # Example\n * ```\n * class MyDirective {\n * // Generated by Angular Template Compiler\n * // [Symbol] syntax will not be supported by TypeScript until v2.7\n * static [DIRECTIVE_DEF_SYMBOL] = defineDirective({\n * ...\n * });\n * }\n * ```\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// clang-format on\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @record\n */\n\n/**\n * \\@experimental Animation support is experimental.\n */\n\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link trigger trigger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link state state animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link transition transition animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link keyframes keyframes animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link style style animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animate animate animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animateChild animateChild animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link useAnimation useAnimation animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link sequence sequence animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link group group animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link stagger stagger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations component animations metadata page} to gain a better\n * understanding of how animations in Angular are used.\n *\n * `trigger` Creates an animation trigger which will a list of {\\@link state state} and\n * {\\@link transition transition} entries that will be evaluated when the expression\n * bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {\\@link Component#animations animations section}. An animation trigger can be placed on an element\n * within a template by referencing the name of the trigger followed by the expression value that\n * the\n * trigger is bound to (in the form of `[\\@triggerName]=\"expression\"`.\n *\n * Animation trigger bindings strigify values and then match the previous and current values against\n * any linked transitions. If a boolean value is provided into the trigger binding then it will both\n * be represented as `1` or `true` and `0` or `false` for a true and false boolean values\n * respectively.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger reference based on the provided `name` value. The\n * provided `animation` value is expected to be an array consisting of {\\@link state state} and\n * {\\@link transition transition} declarations.\n *\n * ```typescript\n * \\@Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * \n *
    ...
    \n * ```\n *\n * ## Disable Animations\n * A special animation control binding called `\\@.disabled` can be placed on an element which will\n * then disable animations for any inner animation triggers situated within the element as well as\n * any animations on the element itself.\n *\n * When true, the `\\@.disabled` binding will prevent all animations from rendering. The example\n * below shows how to use this feature:\n *\n * ```ts\n * \\@Component({\n * selector: 'my-component',\n * template: `\n *
    \n *
    \n *
    \n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * The `\\@childAnimation` trigger will not animate because `\\@.disabled` prevents it from happening\n * (when true).\n *\n * Note that `\\@.disbled` will only disable all animations (this means any animations running on\n * the same element will also be disabled).\n *\n * ### Disabling Animations Application-wide\n * When an area of the template is set to have animations disabled, **all** inner components will\n * also have their animations disabled as well. This means that all animations for an angular\n * application can be disabled by placing a host binding set on `\\@.disabled` on the topmost Angular\n * component.\n *\n * ```ts\n * import {Component, HostBinding} from '\\@angular/core';\n *\n * \\@Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * \\@HostBinding('\\@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### What about animations that us `query()` and `animateChild()`?\n * Despite inner animations being disabled, a parent animation can {\\@link query query} for inner\n * elements located in disabled areas of the template and still animate them as it sees fit. This is\n * also the case for when a sub animation is queried by a parent and then later animated using {\\@link\n * animateChild animateChild}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} definitions\n * @return {?}\n */\nfunction trigger$1(name, definitions) {\n return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} };\n}\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `animate` specifies an animation step that will apply the provided `styles` data for a given\n * amount of time based on the provided `timing` expression value. Calls to `animate` are expected\n * to be used within {\\@link sequence an animation sequence}, {\\@link group group}, or {\\@link\n * transition transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parameters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional delay\n * and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the\n * `duration` value in millisecond form.\n * - `styles` is the style input data which can either be a call to {\\@link style style} or {\\@link\n * keyframes keyframes}. If left empty then the styles from the destination state will be collected\n * and used (this is useful when describing an animation step that will complete an animation by\n * {\\@link transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n * style({ background: \"blue\" })),\n * style({ background: \"red\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?=} styles\n * @return {?}\n */\nfunction animate$1(timings, styles) {\n if (styles === void 0) { styles = null; }\n return { type: 4 /* Animate */, styles: styles, timings: timings };\n}\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are\n * useful when a series of styles must be animated/closed off at different starting/ending times.\n *\n * The `group` function can either be used within a {\\@link sequence sequence} or a {\\@link transition\n * transition} and it will only continue to the next instruction once all of the inner animation\n * steps have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can either consist of {\\@link\n * style style} or {\\@link animate animate} function calls. Each call to `style()` or `animate()`\n * within a group will be executed instantly (use {\\@link keyframes keyframes} or a {\\@link\n * animate#usage animate() with a delay value} to offset styles to be applied at a later time).\n *\n * ```typescript\n * group([\n * animate(\"1s\", { background: \"black\" }))\n * animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction group$1(steps, options) {\n if (options === void 0) { options = null; }\n return { type: 3 /* Group */, steps: steps, options: options };\n}\n/**\n * `sequence` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by\n * default when an array is passed as animation data into {\\@link transition transition}.)\n *\n * The `sequence` function can either be used within a {\\@link group group} or a {\\@link transition\n * transition} and it will only continue to the next instruction once each of the inner animation\n * steps have completed.\n *\n * To perform animation styling in parallel with other animation steps then have a look at the\n * {\\@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist of\n * {\\@link style style} or {\\@link animate animate} function calls. A call to `style()` will apply the\n * provided styling data immediately while a call to `animate()` will apply its styling data over a\n * given time depending on its timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 })),\n * animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction sequence$1(steps, options) {\n if (options === void 0) { options = null; }\n return { type: 2 /* Sequence */, steps: steps, options: options };\n}\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `style` declares a key/value object containing CSS properties/styles that can then be used for\n * {\\@link state animation states}, within an {\\@link sequence animation sequence}, or as styling data\n * for both {\\@link animate animate} and {\\@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs\n * to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Auto-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending on layout and/or environment factors; in such\n * cases the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the steps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} tokens\n * @return {?}\n */\nfunction style$1(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `state` declares an animation state within the given trigger. When a state is active within a\n * component then its associated styles will persist on the element that the trigger is attached to\n * (even when the animation ends).\n *\n * To animate between states, have a look at the animation {\\@link transition transition} DSL\n * function. To register states to an animation trigger please have a look at the {\\@link trigger\n * trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state that will be used if the state that is being\n * animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or more state names separated by commas.\n * - `styles` refers to the {\\@link style styling data} that will be persisted on the element once\n * the state has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} styles\n * @param {?=} options\n * @return {?}\n */\nfunction state$1(name, styles, options) {\n return { type: 0 /* State */, name: name, styles: styles, options: options };\n}\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `keyframes` specifies a collection of {\\@link style style} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {\\@link animate animate}\n * animation function. Instead of applying animations from where they are currently to their\n * destination, keyframes can describe how each style entry is applied and at what point within the\n * animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what\n * percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nfunction keyframes$1(steps) {\n return { type: 5 /* Keyframes */, steps: steps };\n}\n/**\n * `transition` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `transition` declares the {\\@link sequence sequence of animation steps} that will be run when the\n * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>\n * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting\n * and/or ending state).\n *\n * A function can also be provided as the `stateChangeExpr` argument for a transition and this\n * function will be executed each time a state change occurs. If the value returned within the\n * function is true then the associated animation will be run.\n *\n * Animation transitions are placed within an {\\@link trigger animation trigger}. For an transition\n * to animate to a state value and persist its styles then one or more {\\@link state animation\n * states} is expected to be defined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n * what the previous state is and what the current state has become. In other words, if a transition\n * is defined that matches the old/current state criteria then the associated animation will be\n * triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n * // if a state is defined then its styles will be persisted when the\n * // animation has fully completed itself\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n *\n * // a transition animation that will be kicked off when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500)),\n *\n * // it is also possible to do run the same animation for both directions\n * transition(\"on <=> off\", animate(500)),\n *\n * // or to define multiple states pairs separated by commas\n * transition(\"on => off, off => void\", animate(500)),\n *\n * // this is a catch-all state change for when an element is inserted into\n * // the page and the destination state is unknown\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ]),\n *\n * // this will capture a state change between any states\n * transition(\"* => *\", animate(\"1s 0s\")),\n *\n * // you can also go full out and include a function\n * transition((fromState, toState) => {\n * // when `true` then it will allow the animation below to be invoked\n * return fromState == \"off\" && toState == \"on\";\n * }, animate(\"1s 0s\"))\n * ])\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * \n *
    ...
    \n * ```\n *\n * #### The final `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only** uses a\n * timing value with **no style data** then it will be automatically used as the final animation arc\n * for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hiding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * ### Using :enter and :leave\n *\n * Given that enter (insertion) and leave (removal) animations are so common, the `transition`\n * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*\n * => void` state changes.\n *\n * ```\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * ### Boolean values\n * if a trigger binding value is a boolean value then it can be matched using a transition\n * expression that compares `true` and `false` or `1` and `0`.\n *\n * ```\n * // in the template\n *
    ...
    \n *\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * ### Using :increment and :decrement\n * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases\n * can be used to kick off a transition when a numeric value has increased or decreased in value.\n *\n * ```\n * import {group, animate, query, transition, style, trigger} from '\\@angular/animations';\n * import {Component} from '\\@angular/core';\n *\n * \\@Component({\n * selector: 'banner-carousel-component',\n * styles: [`\n * .banner-container {\n * position:relative;\n * height:500px;\n * overflow:hidden;\n * }\n * .banner-container > .banner {\n * position:absolute;\n * left:0;\n * top:0;\n * font-size:200px;\n * line-height:500px;\n * font-weight:bold;\n * text-align:center;\n * width:100%;\n * }\n * `],\n * template: `\n * \n * \n *
    \n *
    \n *
    {{ banner }}
    \n *
    \n * `\n * animations: [\n * trigger('bannerAnimation', [\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ])),\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '-100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '100%' }))\n * ])\n * ])),\n * ])\n * ]\n * })\n * class BannerCarouselComponent {\n * allBanners: string[] = ['1', '2', '3', '4'];\n * selectedIndex: number = 0;\n *\n * get banners() {\n * return [this.allBanners[this.selectedIndex]];\n * }\n *\n * previous() {\n * this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n * }\n *\n * next() {\n * this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);\n * }\n * }\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction transition$1(stateChangeExpr, steps, options) {\n if (options === void 0) { options = null; }\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options };\n}\n/**\n * `animation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later\n * invoked in another animation or sequence. Reusable animations are designed to make use of\n * animation parameters and the produced animation can be used via the `useAnimation` method.\n *\n * ```\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ], { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * If parameters are attached to an animation then they act as **default parameter values**. When an\n * animation is invoked via `useAnimation` then parameter values are allowed to be passed in\n * directly. If any of the passed in parameter values are missing then the default values will be\n * used.\n *\n * ```\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If one or more parameter values are missing before animated then an error will be thrown.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\n\n/**\n * `animateChild` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It works by allowing a queried element to execute its own\n * animation within the animation sequence.\n *\n * Each time an animation is triggered in angular, the parent animation\n * will always get priority and any child animations will be blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations and then allow the animations to run using `animateChild`.\n *\n * The example HTML code below shows both parent and child elements that have animation\n * triggers that will execute at the same time.\n *\n * ```html\n * \n * \n *
    \n *\n *
    \n *
    Hello
    \n *
    \n * one\n *
    \n *
    \n * two\n *
    \n *
    \n * three\n *
    \n *
    \n * ```\n *\n * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate\n * because it has priority. However, using `query` and `animateChild` each of the inner animations\n * can also fire:\n *\n * ```ts\n * // parent-child.component.ts\n * import {trigger, transition, animate, style, query, animateChild} from '\\@angular/animations';\n * \\@Component({\n * selector: 'parent-child-component',\n * animations: [\n * trigger('parentAnimation', [\n * transition('false => true', [\n * query('header', [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * query('\\@childAnimation', [\n * animateChild()\n * ])\n * ])\n * ]),\n * trigger('childAnimation', [\n * transition('false => true', [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ])\n * ])\n * ]\n * })\n * class ParentChildCmp {\n * exp: boolean = false;\n * }\n * ```\n *\n * In the animation code above, when the `parentAnimation` transition kicks off it first queries to\n * find the header element and fades it in. It then finds each of the sub elements that contain the\n * `\\@childAnimation` trigger and then allows for their animations to fire.\n *\n * This example can be further extended by using stagger:\n *\n * ```ts\n * query('\\@childAnimation', stagger(100, [\n * animateChild()\n * ]))\n * ```\n *\n * Now each of the sub animations start off with respect to the `100ms` staggering step.\n *\n * ## The first frame of child animations\n * When sub animations are executed using `animateChild` the animation engine will always apply the\n * first frame of every sub animation immediately at the start of the animation sequence. This way\n * the parent animation does not need to set any initial styling data on the sub elements before the\n * sub animations kick off.\n *\n * In the example above the first frame of the `childAnimation`'s `false => true` transition\n * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`\n * animation transition sequence starts. Only then when the `\\@childAnimation` is queried and called\n * with `animateChild` will it then animate to its destination of `opacity: 1`.\n *\n * Note that this feature designed to be used alongside {\\@link query query()} and it will only work\n * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes\n * and transitions are not handled by this API).\n *\n * \\@experimental Animation support is experimental.\n * @param {?=} options\n * @return {?}\n */\n\n/**\n * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is used to kick off a reusable animation that is created using {\\@link\n * animation animation()}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\n\n/**\n * `query` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * query() is used to find one or more inner elements within the current element that is\n * being animated within the sequence. The provided animation steps are applied\n * to the queried element (by default, an array is provided, then this will be\n * treated as an animation sequence).\n *\n * ### Usage\n *\n * query() is designed to collect mutiple elements and works internally by using\n * `element.querySelectorAll`. An additional options object can be provided which\n * can be used to limit the total amount of items to be collected.\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * query(), by default, will throw an error when zero items are found. If a query\n * has the `optional` flag set to true then this error will be ignored.\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Special Selector Values\n *\n * The selector value within a query can collect elements that contain angular-specific\n * characteristics\n * using special pseudo-selectors tokens.\n *\n * These include:\n *\n * - Querying for newly inserted/removed elements using `query(\":enter\")`/`query(\":leave\")`\n * - Querying all currently animating elements using `query(\":animating\")`\n * - Querying elements that contain an animation trigger using `query(\"\\@triggerName\")`\n * - Querying all elements that contain an animation triggers using `query(\"\\@*\")`\n * - Including the current element into the animation sequence using `query(\":self\")`\n *\n *\n * Each of these pseudo-selector tokens can be merged together into a combined query selector\n * string:\n *\n * ```\n * query(':self, .record:enter, .record:leave, \\@subTrigger', [...])\n * ```\n *\n * ### Demo\n *\n * ```\n * \\@Component({\n * selector: 'inner',\n * template: `\n *
    \n *

    Title

    \n *
    \n * Blah blah blah\n *
    \n *
    \n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 })),\n * query('.content', animate(1000, style({ opacity: 1 })),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * \\@experimental Animation support is experimental.\n * @param {?} selector\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\n\n/**\n * `stagger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is designed to be used inside of an animation {\\@link query query()}\n * and works by issuing a timing gap between after each queried item is animated.\n *\n * ### Usage\n *\n * In the example below there is a container element that wraps a list of items stamped out\n * by an ngFor. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * ```html\n * \n * \n *
    \n *
    \n *
    \n * {{ item }}\n *
    \n *
    \n * ```\n *\n * The component code for this looks as such:\n *\n * ```ts\n * import {trigger, transition, style, animate, query, stagger} from '\\@angular/animations';\n * \\@Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * //...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * And now for the animation trigger code:\n *\n * ```ts\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * Now each time the items are added/removed then either the opacity\n * fade-in animation will run or each removed item will be faded out.\n * When either of these animations occur then a stagger effect will be\n * applied after each item's animation is started.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?} animation\n * @return {?}\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n */\nvar AUTO_STYLE = '*';\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @record\n */\n\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} name\n * @param {?} definitions\n * @return {?}\n */\nfunction trigger$$1(name, definitions) {\n return trigger$1(name, definitions);\n}\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} timings\n * @param {?=} styles\n * @return {?}\n */\nfunction animate$$1(timings, styles) {\n return animate$1(timings, styles);\n}\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} steps\n * @return {?}\n */\nfunction group$$1(steps) {\n return group$1(steps);\n}\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} steps\n * @return {?}\n */\nfunction sequence$$1(steps) {\n return sequence$1(steps);\n}\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} tokens\n * @return {?}\n */\nfunction style$$1(tokens) {\n return style$1(tokens);\n}\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} name\n * @param {?} styles\n * @return {?}\n */\nfunction state$$1(name, styles) {\n return state$1(name, styles);\n}\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} steps\n * @return {?}\n */\nfunction keyframes$$1(steps) {\n return keyframes$1(steps);\n}\n/**\n * @deprecated This symbol has moved. Please Import from \\@angular/animations instead!\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @return {?}\n */\nfunction transition$$1(stateChangeExpr, steps) {\n return transition$1(stateChangeExpr, steps);\n}\n/**\n * @deprecated This has been renamed to `AnimationEvent`. Please import it from \\@angular/animations.\n * @record\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point from which you should import all public core APIs.\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, enableProdMode, isDevMode, createPlatformFactory, NgProbeToken, APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, PLATFORM_ID, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationInitStatus, DebugElement, DebugNode, asNativeElements, getDebugNode, Testability, TestabilityRegistry, setTestabilityGetter, TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID, MissingTranslationStrategy, ApplicationModule, wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange, Type, EventEmitter, ErrorHandler, Sanitizer, SecurityContext, ANALYZE_FOR_ENTRY_COMPONENTS, Attribute, ContentChild, ContentChildren, Query, ViewChild, ViewChildren, Component, Directive, HostBinding, HostListener, Input, Output, Pipe, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule, ViewEncapsulation, Version, VERSION, forwardRef, resolveForwardRef, Injector, ReflectiveInjector, ResolvedReflectiveFactory, ReflectiveKey, InjectionToken, Inject, Optional, Injectable, Self, SkipSelf, Host, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RootRenderer, COMPILER_OPTIONS, Compiler, CompilerFactory, ModuleWithComponentFactories, ComponentFactory, ComponentRef, ComponentFactoryResolver, ElementRef, NgModuleFactory, NgModuleRef, NgModuleFactoryLoader, getModuleFactory, QueryList, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TemplateRef, ViewContainerRef, EmbeddedViewRef, ViewRef, ChangeDetectionStrategy, ChangeDetectorRef, DefaultIterableDiffer, IterableDiffers, KeyValueDiffers, SimpleChange, WrappedValue, platformCore, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, ValueUnwrapper as ɵValueUnwrapper, devModeEqual as ɵdevModeEqual, isListLikeIterable as ɵisListLikeIterable, ChangeDetectorStatus as ɵChangeDetectorStatus, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, Console as ɵConsole, ComponentFactory as ɵComponentFactory, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, ReflectionCapabilities as ɵReflectionCapabilities, RenderDebugInfo as ɵRenderDebugInfo, _global as ɵglobal, looseIdentical as ɵlooseIdentical, stringify as ɵstringify, makeDecorator as ɵmakeDecorator, isObservable as ɵisObservable, isPromise as ɵisPromise, clearOverrides as ɵclearOverrides, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, defineComponent as ɵdefineComponent, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, containerStart as ɵC, directive as ɵD, elementStart as ɵE, text as ɵT, viewStart as ɵV, bind as ɵb, bind1 as ɵb1, containerEnd as ɵc, containerRefreshStart as ɵcR, containerRefreshEnd as ɵcr, elementEnd as ɵe, elementProperty as ɵp, elementStyle as ɵs, textBinding as ɵt, viewEnd as ɵv, registerModuleFactory as ɵregisterModuleFactory, EMPTY_ARRAY as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, anchorDef as ɵand, createComponentFactory as ɵccf, createNgModuleFactory as ɵcmf, createRendererType2 as ɵcrt, directiveDef as ɵdid, elementDef as ɵeld, elementEventFullName as ɵelementEventFullName, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, pipeDef as ɵpid, providerDef as ɵprd, pureArrayDef as ɵpad, pureObjectDef as ɵpod, purePipeDef as ɵppd, queryDef as ɵqud, textDef as ɵted, unwrapValue as ɵunv, viewDef as ɵvid, AUTO_STYLE, trigger$$1 as trigger, animate$$1 as animate, group$$1 as group, sequence$$1 as sequence, style$$1 as style, state$$1 as state, keyframes$$1 as keyframes, transition$$1 as transition, animate$1 as ɵbe, group$1 as ɵbf, keyframes$1 as ɵbj, sequence$1 as ɵbg, state$1 as ɵbi, style$1 as ɵbh, transition$1 as ɵbk, trigger$1 as ɵbd, _iterableDiffersFactory as ɵm, _keyValueDiffersFactory as ɵn, _localeFactory as ɵo, _appIdRandomProviderFactory as ɵh, defaultIterableDiffers as ɵi, defaultKeyValueDiffers as ɵj, DefaultIterableDifferFactory as ɵk, DefaultKeyValueDifferFactory as ɵl, ReflectiveInjector_ as ɵd, ReflectiveDependency as ɵf, resolveReflectiveProviders as ɵg, wtfEnabled as ɵq, createScope as ɵu, detectWTF as ɵr, endTimeRange as ɵy, leave as ɵw, startTimeRange as ɵx, stringify$1 as ɵbb, makeParamDecorator as ɵa, _def as ɵz, DebugContext as ɵba };\n//# sourceMappingURL=core.js.map\n","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/BehaviorSubject'), require('rxjs/ReplaySubject'), require('@angular/common'), require('@angular/router'), require('rxjs/operators/delay'), require('rxjs/operators/filter'), require('rxjs/operators/map')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', '@angular/core', 'rxjs/BehaviorSubject', 'rxjs/ReplaySubject', '@angular/common', '@angular/router', 'rxjs/operators/delay', 'rxjs/operators/filter', 'rxjs/operators/map'], factory) :\n\t(factory((global.angulartics2 = {}),global.ng.core,global.Rx,global.Rx,global.ng.common,global.ng.router,global.delay,global.Rx.operators,global.Rx.operators));\n}(this, (function (exports,core,BehaviorSubject,ReplaySubject,common,router,delay,filter,map) { 'use strict';\n\nvar DefaultConfig = (function () {\n function DefaultConfig() {\n this.pageTracking = {\n autoTrackVirtualPages: true,\n basePath: '',\n excludedRoutes: [],\n clearIds: false,\n clearQueryParams: false,\n idsRegExp: /^\\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n };\n this.developerMode = false;\n this.ga = {};\n this.appInsights = {};\n this.gtm = {};\n }\n return DefaultConfig;\n}());\n\nvar ANGULARTICS2_TOKEN = new core.InjectionToken('ANGULARTICS2');\n\nvar RouterlessTracking = (function () {\n function RouterlessTracking() {\n }\n RouterlessTracking.prototype.trackLocation = function (settings) {\n return new BehaviorSubject.BehaviorSubject({ url: '/' });\n };\n RouterlessTracking.prototype.prepareExternalUrl = function (url) {\n return url;\n };\n return RouterlessTracking;\n}());\n\nvar __assign = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar Angulartics2 = (function () {\n function Angulartics2(tracker, setup) {\n var _this = this;\n this.tracker = tracker;\n this.pageTrack = new ReplaySubject.ReplaySubject(10);\n this.eventTrack = new ReplaySubject.ReplaySubject(10);\n this.exceptionTrack = new ReplaySubject.ReplaySubject(10);\n this.setAlias = new ReplaySubject.ReplaySubject(10);\n this.setUsername = new ReplaySubject.ReplaySubject(10);\n this.setUserProperties = new ReplaySubject.ReplaySubject(10);\n this.setUserPropertiesOnce = new ReplaySubject.ReplaySubject(10);\n this.setSuperProperties = new ReplaySubject.ReplaySubject(10);\n this.setSuperPropertiesOnce = new ReplaySubject.ReplaySubject(10);\n this.userTimings = new ReplaySubject.ReplaySubject(10);\n var defaultConfig = new DefaultConfig();\n this.settings = __assign({}, defaultConfig, setup.settings);\n this.settings.pageTracking = __assign({}, defaultConfig.pageTracking, setup.settings.pageTracking);\n this.tracker\n .trackLocation(this.settings)\n .subscribe(function (event) {\n return _this.trackUrlChange(event.url);\n });\n }\n Angulartics2.prototype.virtualPageviews = function (value) {\n this.settings.pageTracking.autoTrackVirtualPages = value;\n };\n Angulartics2.prototype.excludeRoutes = function (routes) {\n this.settings.pageTracking.excludedRoutes = routes;\n };\n Angulartics2.prototype.withBase = function (value) {\n this.settings.pageTracking.basePath = value;\n };\n Angulartics2.prototype.clearIds = function (value) {\n this.settings.pageTracking.clearIds = value;\n };\n Angulartics2.prototype.developerMode = function (value) {\n this.settings.developerMode = value;\n };\n Angulartics2.prototype.trackUrlChange = function (url) {\n if (this.settings.pageTracking.autoTrackVirtualPages && !this.matchesExcludedRoute(url)) {\n var clearedUrl = this.clearUrl(url);\n var path = void 0;\n if (this.settings.pageTracking.basePath.length) {\n path = this.settings.pageTracking.basePath + clearedUrl;\n }\n else {\n path = this.tracker.prepareExternalUrl(clearedUrl);\n }\n this.pageTrack.next({ path: path });\n }\n };\n Angulartics2.prototype.matchesExcludedRoute = function (url) {\n for (var _i = 0, _a = this.settings.pageTracking.excludedRoutes; _i < _a.length; _i++) {\n var excludedRoute = _a[_i];\n var matchesRegex = excludedRoute instanceof RegExp && excludedRoute.test(url);\n if (matchesRegex || url.indexOf(excludedRoute) !== -1) {\n return true;\n }\n }\n return false;\n };\n Angulartics2.prototype.clearUrl = function (url) {\n var _this = this;\n if (this.settings.pageTracking.clearIds || this.settings.pageTracking.clearQueryParams) {\n return url\n .split('/')\n .map(function (part) { return _this.settings.pageTracking.clearQueryParams ? part.split('?')[0] : part; })\n .filter(function (part) { return !_this.settings.pageTracking.clearIds || !part.match(_this.settings.pageTracking.idsRegExp); })\n .join('/');\n }\n return url;\n };\n Angulartics2.decorators = [\n { type: core.Injectable },\n ];\n Angulartics2.ctorParameters = function () { return [\n { type: RouterlessTracking, },\n { type: undefined, decorators: [{ type: core.Inject, args: [ANGULARTICS2_TOKEN,] },] },\n ]; };\n return Angulartics2;\n}());\n\nvar AngularRouterTracking = (function () {\n function AngularRouterTracking(router$$1, location) {\n this.router = router$$1;\n this.location = location;\n }\n AngularRouterTracking.prototype.trackLocation = function (settings) {\n return this.router.events.pipe(filter.filter(function (e) { return e instanceof router.NavigationEnd; }), filter.filter(function () { return !settings.developerMode; }), map.map(function (e) {\n return { url: e.urlAfterRedirects };\n }), delay.delay(0));\n };\n AngularRouterTracking.prototype.prepareExternalUrl = function (url) {\n return this.location.prepareExternalUrl(url);\n };\n AngularRouterTracking.decorators = [\n { type: core.Injectable },\n ];\n AngularRouterTracking.ctorParameters = function () { return [\n { type: router.Router, },\n { type: common.Location, },\n ]; };\n return AngularRouterTracking;\n}());\n\nvar __assign$1 = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar Angulartics2On = (function () {\n function Angulartics2On(elRef, angulartics2, renderer) {\n this.elRef = elRef;\n this.angulartics2 = angulartics2;\n this.renderer = renderer;\n this.angularticsProperties = {};\n }\n Angulartics2On.prototype.ngAfterContentInit = function () {\n var _this = this;\n this.renderer.listen(this.elRef.nativeElement, this.angulartics2On || 'click', function (event) { return _this.eventTrack(event); });\n };\n Angulartics2On.prototype.eventTrack = function (event) {\n var action = this.angularticsAction;\n var properties = __assign$1({}, this.angularticsProperties, { eventType: event.type });\n if (this.angularticsCategory) {\n properties.category = this.angularticsCategory;\n }\n if (this.angularticsLabel) {\n properties.label = this.angularticsLabel;\n }\n if (this.angularticsValue) {\n properties.value = this.angularticsValue;\n }\n this.angulartics2.eventTrack.next({\n action: action,\n properties: properties,\n });\n };\n Angulartics2On.decorators = [\n { type: core.Injectable },\n { type: core.Directive, args: [{ selector: '[angulartics2On]' },] },\n ];\n Angulartics2On.ctorParameters = function () { return [\n { type: core.ElementRef, },\n { type: Angulartics2, },\n { type: core.Renderer2, },\n ]; };\n Angulartics2On.propDecorators = {\n \"angulartics2On\": [{ type: core.Input, args: ['angulartics2On',] },],\n \"angularticsAction\": [{ type: core.Input },],\n \"angularticsCategory\": [{ type: core.Input },],\n \"angularticsLabel\": [{ type: core.Input },],\n \"angularticsValue\": [{ type: core.Input },],\n \"angularticsProperties\": [{ type: core.Input },],\n };\n return Angulartics2On;\n}());\nvar Angulartics2OnModule = (function () {\n function Angulartics2OnModule() {\n }\n Angulartics2OnModule.decorators = [\n { type: core.NgModule, args: [{\n declarations: [Angulartics2On],\n exports: [Angulartics2On],\n },] },\n ];\n Angulartics2OnModule.ctorParameters = function () { return []; };\n return Angulartics2OnModule;\n}());\n\nvar Angulartics2Module = (function () {\n function Angulartics2Module() {\n }\n Angulartics2Module.forRoot = function (providers, settings) {\n if (settings === void 0) { settings = {}; }\n return {\n ngModule: Angulartics2Module,\n providers: [\n { provide: ANGULARTICS2_TOKEN, useValue: { providers: providers, settings: settings } },\n Angulartics2,\n { provide: RouterlessTracking, useClass: AngularRouterTracking }\n ].concat(providers),\n };\n };\n Angulartics2Module.decorators = [\n { type: core.NgModule, args: [{\n imports: [Angulartics2OnModule],\n exports: [Angulartics2On],\n },] },\n ];\n Angulartics2Module.ctorParameters = function () { return []; };\n return Angulartics2Module;\n}());\n\nexports.Angulartics2 = Angulartics2;\nexports.Angulartics2Module = Angulartics2Module;\nexports.ANGULARTICS2_TOKEN = ANGULARTICS2_TOKEN;\nexports.Angulartics2On = Angulartics2On;\nexports.Angulartics2OnModule = Angulartics2OnModule;\nexports.RouterlessTracking = RouterlessTracking;\nexports.AngularRouterTracking = AngularRouterTracking;\nexports.DefaultConfig = DefaultConfig;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=core.umd.js.map\n","/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\nimport { Attribute, ChangeDetectorRef, ComponentFactoryResolver, Directive, ElementRef, EventEmitter, Host, Inject, Injectable, InjectionToken, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, NgModule, NgModuleRef, Optional, Pipe, Renderer2, TemplateRef, Version, ViewContainerRef, WrappedValue, isDevMode, ɵisListLikeIterable, ɵisObservable, ɵisPromise, ɵstringify } from '@angular/core';\nimport { __assign, __extends } from 'tslib';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {\\@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM apis, which allows the Router to be platform\n * agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that angular supports. For example, `\\@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `\\@angular/platform-webworker` provides\n * one suitable for use with web workers.\n *\n * The `PlatformLocation` class is used directly by all implementations of {\\@link LocationStrategy}\n * when they need to interact with the DOM apis like pushState, popState, etc...\n *\n * {\\@link LocationStrategy} in turn is used by the {\\@link Location} service which is used directly\n * by the {\\@link Router} in order to navigate between routes. Since all interactions between {\\@link\n * Router} /\n * {\\@link Location} / {\\@link LocationStrategy} and DOM apis flow through the `PlatformLocation`\n * class they are all platform independent.\n *\n * \\@stable\n * @abstract\n */\nvar PlatformLocation = /** @class */ (function () {\n function PlatformLocation() {\n }\n return PlatformLocation;\n}());\n/**\n * \\@whatItDoes indicates when a location is initialized\n * \\@experimental\n */\nvar LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * A serializable version of the event from onPopState or onHashChange\n *\n * \\@experimental\n * @record\n */\n\n/**\n * \\@experimental\n * @record\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * `LocationStrategy` is responsible for representing and reading route state\n * from the browser's URL. Angular provides two strategies:\n * {\\@link HashLocationStrategy} and {\\@link PathLocationStrategy}.\n *\n * This is used under the hood of the {\\@link Location} service.\n *\n * Applications should use the {\\@link Router} or {\\@link Location} services to\n * interact with application route state.\n *\n * For instance, {\\@link HashLocationStrategy} produces URLs like\n * `http://example.com#/foo`, and {\\@link PathLocationStrategy} produces\n * `http://example.com/foo` as an equivalent URL.\n *\n * See these two classes for more.\n *\n * \\@stable\n * @abstract\n */\nvar LocationStrategy = /** @class */ (function () {\n function LocationStrategy() {\n }\n return LocationStrategy;\n}());\n/**\n * The `APP_BASE_HREF` token represents the base href to be used with the\n * {\\@link PathLocationStrategy}.\n *\n * If you're using {\\@link PathLocationStrategy}, you must provide a provider to a string\n * representing the URL prefix that should be preserved when generating and recognizing\n * URLs.\n *\n * ### Example\n *\n * ```typescript\n * import {Component, NgModule} from '\\@angular/core';\n * import {APP_BASE_HREF} from '\\@angular/common';\n *\n * \\@NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * \\@stable\n */\nvar APP_BASE_HREF = new InjectionToken('appBaseHref');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@experimental\n * @record\n */\n\n/**\n * \\@whatItDoes `Location` is a service that applications can use to interact with a browser's URL.\n * \\@description\n * Depending on which {\\@link LocationStrategy} is used, `Location` will either persist\n * to the URL's path or the URL's hash segment.\n *\n * Note: it's better to use {\\@link Router#navigate} service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n * {\\@example common/location/ts/path_location_component.ts region='LocationComponent'}\n * \\@stable\n */\nvar Location = /** @class */ (function () {\n function Location(platformStrategy) {\n var _this = this;\n /**\n * \\@internal\n */\n this._subject = new EventEmitter();\n this._platformStrategy = platformStrategy;\n var /** @type {?} */ browserBaseHref = this._platformStrategy.getBaseHref();\n this._baseHref = Location.stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState(function (ev) {\n _this._subject.emit({\n 'url': _this.path(true),\n 'pop': true,\n 'type': ev.type,\n });\n });\n }\n /**\n * Returns the normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n /**\n * Returns the normalized URL path.\n * @param {?=} includeHash\n * @return {?}\n */\n Location.prototype.path = /**\n * Returns the normalized URL path.\n * @param {?=} includeHash\n * @return {?}\n */\n function (includeHash) {\n if (includeHash === void 0) { includeHash = false; }\n return this.normalize(this._platformStrategy.path(includeHash));\n };\n /**\n * Normalizes the given path and compares to the current normalized path.\n */\n /**\n * Normalizes the given path and compares to the current normalized path.\n * @param {?} path\n * @param {?=} query\n * @return {?}\n */\n Location.prototype.isCurrentPathEqualTo = /**\n * Normalizes the given path and compares to the current normalized path.\n * @param {?} path\n * @param {?=} query\n * @return {?}\n */\n function (path, query) {\n if (query === void 0) { query = ''; }\n return this.path() == this.normalize(path + Location.normalizeQueryParams(query));\n };\n /**\n * Given a string representing a URL, returns the normalized URL path without leading or\n * trailing slashes.\n */\n /**\n * Given a string representing a URL, returns the normalized URL path without leading or\n * trailing slashes.\n * @param {?} url\n * @return {?}\n */\n Location.prototype.normalize = /**\n * Given a string representing a URL, returns the normalized URL path without leading or\n * trailing slashes.\n * @param {?} url\n * @return {?}\n */\n function (url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n };\n /**\n * Given a string representing a URL, returns the platform-specific external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), this method adds one\n * before normalizing. This method will also add a hash if `HashLocationStrategy` is\n * used, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n */\n /**\n * Given a string representing a URL, returns the platform-specific external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), this method adds one\n * before normalizing. This method will also add a hash if `HashLocationStrategy` is\n * used, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n * @param {?} url\n * @return {?}\n */\n Location.prototype.prepareExternalUrl = /**\n * Given a string representing a URL, returns the platform-specific external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), this method adds one\n * before normalizing. This method will also add a hash if `HashLocationStrategy` is\n * used, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n * @param {?} url\n * @return {?}\n */\n function (url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n };\n // TODO: rename this method to pushState\n /**\n * Changes the browsers URL to the normalized version of the given URL, and pushes a\n * new item onto the platform's history.\n */\n /**\n * Changes the browsers URL to the normalized version of the given URL, and pushes a\n * new item onto the platform's history.\n * @param {?} path\n * @param {?=} query\n * @return {?}\n */\n Location.prototype.go = /**\n * Changes the browsers URL to the normalized version of the given URL, and pushes a\n * new item onto the platform's history.\n * @param {?} path\n * @param {?=} query\n * @return {?}\n */\n function (path, query) {\n if (query === void 0) { query = ''; }\n this._platformStrategy.pushState(null, '', path, query);\n };\n /**\n * Changes the browsers URL to the normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n */\n /**\n * Changes the browsers URL to the normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n * @param {?} path\n * @param {?=} query\n * @return {?}\n */\n Location.prototype.replaceState = /**\n * Changes the browsers URL to the normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n * @param {?} path\n * @param {?=} query\n * @return {?}\n */\n function (path, query) {\n if (query === void 0) { query = ''; }\n this._platformStrategy.replaceState(null, '', path, query);\n };\n /**\n * Navigates forward in the platform's history.\n */\n /**\n * Navigates forward in the platform's history.\n * @return {?}\n */\n Location.prototype.forward = /**\n * Navigates forward in the platform's history.\n * @return {?}\n */\n function () { this._platformStrategy.forward(); };\n /**\n * Navigates back in the platform's history.\n */\n /**\n * Navigates back in the platform's history.\n * @return {?}\n */\n Location.prototype.back = /**\n * Navigates back in the platform's history.\n * @return {?}\n */\n function () { this._platformStrategy.back(); };\n /**\n * Subscribe to the platform's `popState` events.\n */\n /**\n * Subscribe to the platform's `popState` events.\n * @param {?} onNext\n * @param {?=} onThrow\n * @param {?=} onReturn\n * @return {?}\n */\n Location.prototype.subscribe = /**\n * Subscribe to the platform's `popState` events.\n * @param {?} onNext\n * @param {?=} onThrow\n * @param {?=} onReturn\n * @return {?}\n */\n function (onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n };\n /**\n * Given a string of url parameters, prepend with '?' if needed, otherwise return parameters as\n * is.\n * @param {?} params\n * @return {?}\n */\n Location.normalizeQueryParams = /**\n * Given a string of url parameters, prepend with '?' if needed, otherwise return parameters as\n * is.\n * @param {?} params\n * @return {?}\n */\n function (params) {\n return params && params[0] !== '?' ? '?' + params : params;\n };\n /**\n * Given 2 parts of a url, join them with a slash if needed.\n * @param {?} start\n * @param {?} end\n * @return {?}\n */\n Location.joinWithSlash = /**\n * Given 2 parts of a url, join them with a slash if needed.\n * @param {?} start\n * @param {?} end\n * @return {?}\n */\n function (start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n var /** @type {?} */ slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n };\n /**\n * If url has a trailing slash, remove it, otherwise return url as is. This\n * method looks for the first occurence of either #, ?, or the end of the\n * line as `/` characters after any of these should not be replaced.\n * @param {?} url\n * @return {?}\n */\n Location.stripTrailingSlash = /**\n * If url has a trailing slash, remove it, otherwise return url as is. This\n * method looks for the first occurence of either #, ?, or the end of the\n * line as `/` characters after any of these should not be replaced.\n * @param {?} url\n * @return {?}\n */\n function (url) {\n var /** @type {?} */ match = url.match(/#|\\?|$/);\n var /** @type {?} */ pathEndIdx = match && match.index || url.length;\n var /** @type {?} */ droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n };\n Location.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n Location.ctorParameters = function () { return [\n { type: LocationStrategy, },\n ]; };\n return Location;\n}());\n/**\n * @param {?} baseHref\n * @param {?} url\n * @return {?}\n */\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\n/**\n * @param {?} url\n * @return {?}\n */\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Use URL hash for storing application location data.\n * \\@description\n * `HashLocationStrategy` is a {\\@link LocationStrategy} used to configure the\n * {\\@link Location} service to represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * ### Example\n *\n * {\\@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * \\@stable\n */\nvar HashLocationStrategy = /** @class */ (function (_super) {\n __extends(HashLocationStrategy, _super);\n function HashLocationStrategy(_platformLocation, _baseHref) {\n var _this = _super.call(this) || this;\n _this._platformLocation = _platformLocation;\n _this._baseHref = '';\n if (_baseHref != null) {\n _this._baseHref = _baseHref;\n }\n return _this;\n }\n /**\n * @param {?} fn\n * @return {?}\n */\n HashLocationStrategy.prototype.onPopState = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n };\n /**\n * @return {?}\n */\n HashLocationStrategy.prototype.getBaseHref = /**\n * @return {?}\n */\n function () { return this._baseHref; };\n /**\n * @param {?=} includeHash\n * @return {?}\n */\n HashLocationStrategy.prototype.path = /**\n * @param {?=} includeHash\n * @return {?}\n */\n function (includeHash) {\n if (includeHash === void 0) { includeHash = false; }\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n var /** @type {?} */ path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n };\n /**\n * @param {?} internal\n * @return {?}\n */\n HashLocationStrategy.prototype.prepareExternalUrl = /**\n * @param {?} internal\n * @return {?}\n */\n function (internal) {\n var /** @type {?} */ url = Location.joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n };\n /**\n * @param {?} state\n * @param {?} title\n * @param {?} path\n * @param {?} queryParams\n * @return {?}\n */\n HashLocationStrategy.prototype.pushState = /**\n * @param {?} state\n * @param {?} title\n * @param {?} path\n * @param {?} queryParams\n * @return {?}\n */\n function (state, title, path, queryParams) {\n var /** @type {?} */ url = this.prepareExternalUrl(path + Location.normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n };\n /**\n * @param {?} state\n * @param {?} title\n * @param {?} path\n * @param {?} queryParams\n * @return {?}\n */\n HashLocationStrategy.prototype.replaceState = /**\n * @param {?} state\n * @param {?} title\n * @param {?} path\n * @param {?} queryParams\n * @return {?}\n */\n function (state, title, path, queryParams) {\n var /** @type {?} */ url = this.prepareExternalUrl(path + Location.normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n };\n /**\n * @return {?}\n */\n HashLocationStrategy.prototype.forward = /**\n * @return {?}\n */\n function () { this._platformLocation.forward(); };\n /**\n * @return {?}\n */\n HashLocationStrategy.prototype.back = /**\n * @return {?}\n */\n function () { this._platformLocation.back(); };\n HashLocationStrategy.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n HashLocationStrategy.ctorParameters = function () { return [\n { type: PlatformLocation, },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] },] },\n ]; };\n return HashLocationStrategy;\n}(LocationStrategy));\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Use URL for storing application location data.\n * \\@description\n * `PathLocationStrategy` is a {\\@link LocationStrategy} used to configure the\n * {\\@link Location} service to represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {\\@link APP_BASE_HREF}\n * or add a base element to the document. This URL prefix that will be preserved\n * when generating and recognizing URLs.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * ### Example\n *\n * {\\@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * \\@stable\n */\nvar PathLocationStrategy = /** @class */ (function (_super) {\n __extends(PathLocationStrategy, _super);\n function PathLocationStrategy(_platformLocation, href) {\n var _this = _super.call(this) || this;\n _this._platformLocation = _platformLocation;\n if (href == null) {\n href = _this._platformLocation.getBaseHrefFromDOM();\n }\n if (href == null) {\n throw new Error(\"No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.\");\n }\n _this._baseHref = href;\n return _this;\n }\n /**\n * @param {?} fn\n * @return {?}\n */\n PathLocationStrategy.prototype.onPopState = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n this._platformLocation.onPopState(fn);\n this._platformLocation.onHashChange(fn);\n };\n /**\n * @return {?}\n */\n PathLocationStrategy.prototype.getBaseHref = /**\n * @return {?}\n */\n function () { return this._baseHref; };\n /**\n * @param {?} internal\n * @return {?}\n */\n PathLocationStrategy.prototype.prepareExternalUrl = /**\n * @param {?} internal\n * @return {?}\n */\n function (internal) {\n return Location.joinWithSlash(this._baseHref, internal);\n };\n /**\n * @param {?=} includeHash\n * @return {?}\n */\n PathLocationStrategy.prototype.path = /**\n * @param {?=} includeHash\n * @return {?}\n */\n function (includeHash) {\n if (includeHash === void 0) { includeHash = false; }\n var /** @type {?} */ pathname = this._platformLocation.pathname +\n Location.normalizeQueryParams(this._platformLocation.search);\n var /** @type {?} */ hash = this._platformLocation.hash;\n return hash && includeHash ? \"\" + pathname + hash : pathname;\n };\n /**\n * @param {?} state\n * @param {?} title\n * @param {?} url\n * @param {?} queryParams\n * @return {?}\n */\n PathLocationStrategy.prototype.pushState = /**\n * @param {?} state\n * @param {?} title\n * @param {?} url\n * @param {?} queryParams\n * @return {?}\n */\n function (state, title, url, queryParams) {\n var /** @type {?} */ externalUrl = this.prepareExternalUrl(url + Location.normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n };\n /**\n * @param {?} state\n * @param {?} title\n * @param {?} url\n * @param {?} queryParams\n * @return {?}\n */\n PathLocationStrategy.prototype.replaceState = /**\n * @param {?} state\n * @param {?} title\n * @param {?} url\n * @param {?} queryParams\n * @return {?}\n */\n function (state, title, url, queryParams) {\n var /** @type {?} */ externalUrl = this.prepareExternalUrl(url + Location.normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n };\n /**\n * @return {?}\n */\n PathLocationStrategy.prototype.forward = /**\n * @return {?}\n */\n function () { this._platformLocation.forward(); };\n /**\n * @return {?}\n */\n PathLocationStrategy.prototype.back = /**\n * @return {?}\n */\n function () { this._platformLocation.back(); };\n PathLocationStrategy.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n PathLocationStrategy.ctorParameters = function () { return [\n { type: PlatformLocation, },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] },] },\n ]; };\n return PathLocationStrategy;\n}(LocationStrategy));\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// THIS CODE IS GENERATED - DO NOT MODIFY\n// See angular/tools/gulp-tasks/cldr/extract.js\n/**\n * \\@internal\n */\nvar CURRENCIES = {\n 'AOA': [, 'Kz'],\n 'ARS': [, '$'],\n 'AUD': ['A$', '$'],\n 'BAM': [, 'KM'],\n 'BBD': [, '$'],\n 'BDT': [, '৳'],\n 'BMD': [, '$'],\n 'BND': [, '$'],\n 'BOB': [, 'Bs'],\n 'BRL': ['R$'],\n 'BSD': [, '$'],\n 'BWP': [, 'P'],\n 'BYN': [, 'р.'],\n 'BZD': [, '$'],\n 'CAD': ['CA$', '$'],\n 'CLP': [, '$'],\n 'CNY': ['CN¥', '¥'],\n 'COP': [, '$'],\n 'CRC': [, '₡'],\n 'CUC': [, '$'],\n 'CUP': [, '$'],\n 'CZK': [, 'Kč'],\n 'DKK': [, 'kr'],\n 'DOP': [, '$'],\n 'EGP': [, 'E£'],\n 'ESP': [, '₧'],\n 'EUR': ['€'],\n 'FJD': [, '$'],\n 'FKP': [, '£'],\n 'GBP': ['£'],\n 'GEL': [, '₾'],\n 'GIP': [, '£'],\n 'GNF': [, 'FG'],\n 'GTQ': [, 'Q'],\n 'GYD': [, '$'],\n 'HKD': ['HK$', '$'],\n 'HNL': [, 'L'],\n 'HRK': [, 'kn'],\n 'HUF': [, 'Ft'],\n 'IDR': [, 'Rp'],\n 'ILS': ['₪'],\n 'INR': ['₹'],\n 'ISK': [, 'kr'],\n 'JMD': [, '$'],\n 'JPY': ['¥'],\n 'KHR': [, '៛'],\n 'KMF': [, 'CF'],\n 'KPW': [, '₩'],\n 'KRW': ['₩'],\n 'KYD': [, '$'],\n 'KZT': [, '₸'],\n 'LAK': [, '₭'],\n 'LBP': [, 'L£'],\n 'LKR': [, 'Rs'],\n 'LRD': [, '$'],\n 'LTL': [, 'Lt'],\n 'LVL': [, 'Ls'],\n 'MGA': [, 'Ar'],\n 'MMK': [, 'K'],\n 'MNT': [, '₮'],\n 'MUR': [, 'Rs'],\n 'MXN': ['MX$', '$'],\n 'MYR': [, 'RM'],\n 'NAD': [, '$'],\n 'NGN': [, '₦'],\n 'NIO': [, 'C$'],\n 'NOK': [, 'kr'],\n 'NPR': [, 'Rs'],\n 'NZD': ['NZ$', '$'],\n 'PHP': [, '₱'],\n 'PKR': [, 'Rs'],\n 'PLN': [, 'zł'],\n 'PYG': [, '₲'],\n 'RON': [, 'lei'],\n 'RUB': [, '₽'],\n 'RUR': [, 'р.'],\n 'RWF': [, 'RF'],\n 'SBD': [, '$'],\n 'SEK': [, 'kr'],\n 'SGD': [, '$'],\n 'SHP': [, '£'],\n 'SRD': [, '$'],\n 'SSP': [, '£'],\n 'STD': [, 'Db'],\n 'SYP': [, '£'],\n 'THB': [, '฿'],\n 'TOP': [, 'T$'],\n 'TRY': [, '₺'],\n 'TTD': [, '$'],\n 'TWD': ['NT$', '$'],\n 'UAH': [, '₴'],\n 'USD': ['$'],\n 'UYU': [, '$'],\n 'VEF': [, 'Bs'],\n 'VND': ['₫'],\n 'XAF': ['FCFA'],\n 'XCD': ['EC$', '$'],\n 'XOF': ['CFA'],\n 'XPF': ['CFPF'],\n 'ZAR': [, 'R'],\n 'ZMW': [, 'ZK'],\n};\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// THIS CODE IS GENERATED - DO NOT MODIFY\n// See angular/tools/gulp-tasks/cldr/extract.js\n/**\n * @param {?} n\n * @return {?}\n */\nfunction converter(n) {\n var /** @type {?} */ i = Math.floor(Math.abs(n)), /** @type {?} */ v = n.toString().replace(/^[^.]*\\.?/, '').length;\n if (i === 1 && v === 0)\n return 1;\n return 5;\n}\nvar localeEn = [\n 'en',\n [\n ['a', 'p'],\n ['AM', 'PM'],\n ],\n [\n ['AM', 'PM'],\n ,\n ],\n [\n ['S', 'M', 'T', 'W', 'T', 'F', 'S'], ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\n ],\n ,\n [\n ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n [\n 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September',\n 'October', 'November', 'December'\n ]\n ],\n ,\n [['B', 'A'], ['BC', 'AD'], ['Before Christ', 'Anno Domini']], 0, [6, 0],\n ['M/d/yy', 'MMM d, y', 'MMMM d, y', 'EEEE, MMMM d, y'],\n ['h:mm a', 'h:mm:ss a', 'h:mm:ss a z', 'h:mm:ss a zzzz'],\n [\n '{1}, {0}',\n ,\n '{1} \\'at\\' {0}',\n ],\n ['.', ',', ';', '%', '+', '-', 'E', '×', '‰', '∞', 'NaN', ':'],\n ['#,##0.###', '#,##0%', '¤#,##0.00', '#E0'], '$', 'US Dollar', converter\n];\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@experimental i18n support is experimental.\n */\nvar LOCALE_DATA = {};\n/**\n * Register global data to be used internally by Angular. See the\n * {\\@linkDocs guide/i18n#i18n-pipes \"I18n guide\"} to know how to import additional locale data.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} data\n * @param {?=} localeId\n * @param {?=} extraData\n * @return {?}\n */\nfunction registerLocaleData(data, localeId, extraData) {\n if (typeof localeId !== 'string') {\n extraData = localeId;\n localeId = data[0 /* LocaleId */];\n }\n localeId = localeId.toLowerCase().replace(/_/g, '-');\n LOCALE_DATA[localeId] = data;\n if (extraData) {\n LOCALE_DATA[localeId][18 /* ExtraData */] = extraData;\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @enum {number} */\nvar NumberFormatStyle = {\n Decimal: 0,\n Percent: 1,\n Currency: 2,\n Scientific: 3,\n};\nNumberFormatStyle[NumberFormatStyle.Decimal] = \"Decimal\";\nNumberFormatStyle[NumberFormatStyle.Percent] = \"Percent\";\nNumberFormatStyle[NumberFormatStyle.Currency] = \"Currency\";\nNumberFormatStyle[NumberFormatStyle.Scientific] = \"Scientific\";\n/** @enum {number} */\nvar Plural = {\n Zero: 0,\n One: 1,\n Two: 2,\n Few: 3,\n Many: 4,\n Other: 5,\n};\nPlural[Plural.Zero] = \"Zero\";\nPlural[Plural.One] = \"One\";\nPlural[Plural.Two] = \"Two\";\nPlural[Plural.Few] = \"Few\";\nPlural[Plural.Many] = \"Many\";\nPlural[Plural.Other] = \"Other\";\n/** @enum {number} */\nvar FormStyle = {\n Format: 0,\n Standalone: 1,\n};\nFormStyle[FormStyle.Format] = \"Format\";\nFormStyle[FormStyle.Standalone] = \"Standalone\";\n/** @enum {number} */\nvar TranslationWidth = {\n Narrow: 0,\n Abbreviated: 1,\n Wide: 2,\n Short: 3,\n};\nTranslationWidth[TranslationWidth.Narrow] = \"Narrow\";\nTranslationWidth[TranslationWidth.Abbreviated] = \"Abbreviated\";\nTranslationWidth[TranslationWidth.Wide] = \"Wide\";\nTranslationWidth[TranslationWidth.Short] = \"Short\";\n/** @enum {number} */\nvar FormatWidth = {\n Short: 0,\n Medium: 1,\n Long: 2,\n Full: 3,\n};\nFormatWidth[FormatWidth.Short] = \"Short\";\nFormatWidth[FormatWidth.Medium] = \"Medium\";\nFormatWidth[FormatWidth.Long] = \"Long\";\nFormatWidth[FormatWidth.Full] = \"Full\";\n/** @enum {number} */\nvar NumberSymbol = {\n Decimal: 0,\n Group: 1,\n List: 2,\n PercentSign: 3,\n PlusSign: 4,\n MinusSign: 5,\n Exponential: 6,\n SuperscriptingExponent: 7,\n PerMille: 8,\n Infinity: 9,\n NaN: 10,\n TimeSeparator: 11,\n CurrencyDecimal: 12,\n CurrencyGroup: 13,\n};\nNumberSymbol[NumberSymbol.Decimal] = \"Decimal\";\nNumberSymbol[NumberSymbol.Group] = \"Group\";\nNumberSymbol[NumberSymbol.List] = \"List\";\nNumberSymbol[NumberSymbol.PercentSign] = \"PercentSign\";\nNumberSymbol[NumberSymbol.PlusSign] = \"PlusSign\";\nNumberSymbol[NumberSymbol.MinusSign] = \"MinusSign\";\nNumberSymbol[NumberSymbol.Exponential] = \"Exponential\";\nNumberSymbol[NumberSymbol.SuperscriptingExponent] = \"SuperscriptingExponent\";\nNumberSymbol[NumberSymbol.PerMille] = \"PerMille\";\nNumberSymbol[NumberSymbol.Infinity] = \"Infinity\";\nNumberSymbol[NumberSymbol.NaN] = \"NaN\";\nNumberSymbol[NumberSymbol.TimeSeparator] = \"TimeSeparator\";\nNumberSymbol[NumberSymbol.CurrencyDecimal] = \"CurrencyDecimal\";\nNumberSymbol[NumberSymbol.CurrencyGroup] = \"CurrencyGroup\";\n/** @enum {number} */\nvar WeekDay = {\n Sunday: 0,\n Monday: 1,\n Tuesday: 2,\n Wednesday: 3,\n Thursday: 4,\n Friday: 5,\n Saturday: 6,\n};\nWeekDay[WeekDay.Sunday] = \"Sunday\";\nWeekDay[WeekDay.Monday] = \"Monday\";\nWeekDay[WeekDay.Tuesday] = \"Tuesday\";\nWeekDay[WeekDay.Wednesday] = \"Wednesday\";\nWeekDay[WeekDay.Thursday] = \"Thursday\";\nWeekDay[WeekDay.Friday] = \"Friday\";\nWeekDay[WeekDay.Saturday] = \"Saturday\";\n/**\n * The locale id for the chosen locale (e.g `en-GB`).\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction getLocaleId(locale) {\n return findLocaleData(locale)[0 /* LocaleId */];\n}\n/**\n * Periods of the day (e.g. `[AM, PM]` for en-US).\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} formStyle\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n var /** @type {?} */ amPmData = /** @type {?} */ ([data[1 /* DayPeriodsFormat */], data[2 /* DayPeriodsStandalone */]]);\n var /** @type {?} */ amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Days of the week for the Gregorian calendar (e.g. `[Sunday, Monday, ... Saturday]` for en-US).\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} formStyle\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n var /** @type {?} */ daysData = /** @type {?} */ ([data[3 /* DaysFormat */], data[4 /* DaysStandalone */]]);\n var /** @type {?} */ days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Months of the year for the Gregorian calendar (e.g. `[January, February, ...]` for en-US).\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} formStyle\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n var /** @type {?} */ monthsData = /** @type {?} */ ([data[5 /* MonthsFormat */], data[6 /* MonthsStandalone */]]);\n var /** @type {?} */ months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Eras for the Gregorian calendar (e.g. AD/BC).\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleEraNames(locale, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n var /** @type {?} */ erasData = /** @type {?} */ (data[7 /* Eras */]);\n return getLastDefinedValue(erasData, width);\n}\n/**\n * First day of the week for this locale, based on english days (Sunday = 0, Monday = 1, ...).\n * For example in french the value would be 1 because the first day of the week is Monday.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[8 /* FirstDayOfWeek */];\n}\n/**\n * Range of days in the week that represent the week-end for this locale, based on english days\n * (Sunday = 0, Monday = 1, ...).\n * For example in english the value would be [6,0] for Saturday to Sunday.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction getLocaleWeekEndRange(locale) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[9 /* WeekendRange */];\n}\n/**\n * Date format that depends on the locale.\n *\n * There are four basic date formats:\n * - `full` should contain long-weekday (EEEE), year (y), long-month (MMMM), day (d).\n *\n * For example, English uses `EEEE, MMMM d, y`, corresponding to a date like\n * \"Tuesday, September 14, 1999\".\n *\n * - `long` should contain year, long-month, day.\n *\n * For example, `MMMM d, y`, corresponding to a date like \"September 14, 1999\".\n *\n * - `medium` should contain year, abbreviated-month (MMM), day.\n *\n * For example, `MMM d, y`, corresponding to a date like \"Sep 14, 1999\".\n * For languages that do not use abbreviated months, use the numeric month (MM/M). For example,\n * `y/MM/dd`, corresponding to a date like \"1999/09/14\".\n *\n * - `short` should contain year, numeric-month (MM/M), and day.\n *\n * For example, `M/d/yy`, corresponding to a date like \"9/14/99\".\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleDateFormat(locale, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[10 /* DateFormat */][width];\n}\n/**\n * Time format that depends on the locale.\n *\n * The standard formats include four basic time formats:\n * - `full` should contain hour (h/H), minute (mm), second (ss), and zone (zzzz).\n * - `long` should contain hour, minute, second, and zone (z)\n * - `medium` should contain hour, minute, second.\n * - `short` should contain hour, minute.\n *\n * Note: The patterns depend on whether the main country using your language uses 12-hour time or\n * not:\n * - For 12-hour time, use a pattern like `hh:mm a` using h to mean a 12-hour clock cycle running\n * 1 through 12 (midnight plus 1 minute is 12:01), or using K to mean a 12-hour clock cycle\n * running 0 through 11 (midnight plus 1 minute is 0:01).\n * - For 24-hour time, use a pattern like `HH:mm` using H to mean a 24-hour clock cycle running 0\n * through 23 (midnight plus 1 minute is 0:01), or using k to mean a 24-hour clock cycle running\n * 1 through 24 (midnight plus 1 minute is 24:01).\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleTimeFormat(locale, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[11 /* TimeFormat */][width];\n}\n/**\n * Date-time format that depends on the locale.\n *\n * The date-time pattern shows how to combine separate patterns for date (represented by {1})\n * and time (represented by {0}) into a single pattern. It usually doesn't need to be changed.\n * What you want to pay attention to are:\n * - possibly removing a space for languages that don't use it, such as many East Asian languages\n * - possibly adding a comma, other punctuation, or a combining word\n *\n * For example:\n * - English uses `{1} 'at' {0}` or `{1}, {0}` (depending on date style), while Japanese uses\n * `{1}{0}`.\n * - An English formatted date-time using the combining pattern `{1}, {0}` could be\n * `Dec 10, 2010, 3:59:49 PM`. Notice the comma and space between the date portion and the time\n * portion.\n *\n * There are four formats (`full`, `long`, `medium`, `short`); the determination of which to use\n * is normally based on the date style. For example, if the date has a full month and weekday\n * name, the full combining pattern will be used to combine that with a time. If the date has\n * numeric month, the short version of the combining pattern will be used to combine that with a\n * time. English uses `{1} 'at' {0}` for full and long styles, and `{1}, {0}` for medium and short\n * styles.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n var /** @type {?} */ dateTimeFormatData = /** @type {?} */ (data[12 /* DateTimeFormat */]);\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Number symbol that can be used to replace placeholders in number formats.\n * See {\\@link NumberSymbol} for more information.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} symbol\n * @return {?}\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n var /** @type {?} */ data = findLocaleData(locale);\n var /** @type {?} */ res = data[13 /* NumberSymbols */][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[13 /* NumberSymbols */][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[13 /* NumberSymbols */][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Number format that depends on the locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,67\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders;\n * they stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders; for example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the Number Symbols for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | This will be replaced by a currency symbol, such as $ or USD. |\n * | % | This marks a percent format. The % symbol may change position, but must be retained. |\n * | E | This marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * You can find more information\n * [on the CLDR website](http://cldr.unicode.org/translation/number-patterns)\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} type\n * @return {?}\n */\nfunction getLocaleNumberFormat(locale, type) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[14 /* NumberFormats */][type];\n}\n/**\n * The symbol used to represent the currency for the main country using this locale (e.g. $ for\n * the locale en-US).\n * The symbol will be `null` if the main country cannot be determined.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction getLocaleCurrencySymbol(locale) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[15 /* CurrencySymbol */] || null;\n}\n/**\n * The name of the currency for the main country using this locale (e.g. USD for the locale\n * en-US).\n * The name will be `null` if the main country cannot be determined.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction getLocaleCurrencyName(locale) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[16 /* CurrencyName */] || null;\n}\n/**\n * The locale plural function used by ICU expressions to determine the plural case to use.\n * See {\\@link NgPlural} for more information.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction getLocalePluralCase(locale) {\n var /** @type {?} */ data = findLocaleData(locale);\n return data[17 /* PluralCase */];\n}\n/**\n * @param {?} data\n * @return {?}\n */\nfunction checkFullData(data) {\n if (!data[18 /* ExtraData */]) {\n throw new Error(\"Missing extra locale data for the locale \\\"\" + data[0 /* LocaleId */] + \"\\\". Use \\\"registerLocaleData\\\" to load new data. See the \\\"I18n guide\\\" on angular.io to know more.\");\n }\n}\n/**\n * Rules used to determine which day period to use (See `dayPeriods` below).\n * The rules can either be an array or a single value. If it's an array, consider it as \"from\"\n * and \"to\". If it's a single value then it means that the period is only valid at this exact\n * value.\n * There is always the same number of rules as the number of day periods, which means that the\n * first rule is applied to the first day period and so on.\n * You should fallback to AM/PM when there are no rules available.\n *\n * Note: this is only available if you load the full locale data.\n * See the {\\@linkDocs guide/i18n#i18n-pipes \"I18n guide\"} to know how to import additional locale\n * data.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n var /** @type {?} */ data = findLocaleData(locale);\n checkFullData(data);\n var /** @type {?} */ rules = data[18 /* ExtraData */][2 /* ExtraDayPeriodsRules */] || [];\n return rules.map(function (rule) {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Day Periods indicate roughly how the day is broken up in different languages (e.g. morning,\n * noon, afternoon, midnight, ...).\n * You should use the function {\\@link getLocaleExtraDayPeriodRules} to determine which period to\n * use.\n * You should fallback to AM/PM when there are no day periods available.\n *\n * Note: this is only available if you load the full locale data.\n * See the {\\@linkDocs guide/i18n#i18n-pipes \"I18n guide\"} to know how to import additional locale\n * data.\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @param {?} formStyle\n * @param {?} width\n * @return {?}\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n var /** @type {?} */ data = findLocaleData(locale);\n checkFullData(data);\n var /** @type {?} */ dayPeriodsData = /** @type {?} */ ([\n data[18 /* ExtraData */][0 /* ExtraDayPeriodFormats */],\n data[18 /* ExtraData */][1 /* ExtraDayPeriodStandalone */]\n ]);\n var /** @type {?} */ dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Returns the first value that is defined in an array, going backwards.\n *\n * To avoid repeating the same data (e.g. when \"format\" and \"standalone\" are the same) we only\n * add the first one to the locale data arrays, the other ones are only defined when different.\n * We use this function to retrieve the first defined value.\n *\n * \\@experimental i18n support is experimental.\n * @template T\n * @param {?} data\n * @param {?} index\n * @return {?}\n */\nfunction getLastDefinedValue(data, index) {\n for (var /** @type {?} */ i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extract the hours and minutes from a string like \"15:45\"\n * @param {?} time\n * @return {?}\n */\nfunction extractTime(time) {\n var _a = time.split(':'), h = _a[0], m = _a[1];\n return { hours: +h, minutes: +m };\n}\n/**\n * Finds the locale data for a locale id\n *\n * \\@experimental i18n support is experimental.\n * @param {?} locale\n * @return {?}\n */\nfunction findLocaleData(locale) {\n var /** @type {?} */ normalizedLocale = locale.toLowerCase().replace(/_/g, '-');\n var /** @type {?} */ match = LOCALE_DATA[normalizedLocale];\n if (match) {\n return match;\n }\n // let's try to find a parent locale\n var /** @type {?} */ parentLocale = normalizedLocale.split('-')[0];\n match = LOCALE_DATA[parentLocale];\n if (match) {\n return match;\n }\n if (parentLocale === 'en') {\n return localeEn;\n }\n throw new Error(\"Missing locale data for the locale \\\"\" + locale + \"\\\".\");\n}\n/**\n * Return the currency symbol for a given currency code, or the code if no symbol available\n * (e.g.: format narrow = $, format wide = US$, code = USD)\n *\n * \\@experimental i18n support is experimental.\n * @param {?} code\n * @param {?} format\n * @return {?}\n */\nfunction getCurrencySymbol(code, format) {\n var /** @type {?} */ currency = CURRENCIES[code] || [];\n var /** @type {?} */ symbolNarrow = currency[1];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0] || code;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @deprecated from v5\n */\nvar DEPRECATED_PLURAL_FN = new InjectionToken('UseV4Plurals');\n/**\n * \\@experimental\n * @abstract\n */\nvar NgLocalization = /** @class */ (function () {\n function NgLocalization() {\n }\n return NgLocalization;\n}());\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n * @param {?} value\n * @param {?} cases\n * @param {?} ngLocalization\n * @param {?=} locale\n * @return {?}\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n var /** @type {?} */ key = \"=\" + value;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(\"No plural message found for value \\\"\" + value + \"\\\"\");\n}\n/**\n * Returns the plural case based on the locale\n *\n * \\@experimental\n */\nvar NgLocaleLocalization = /** @class */ (function (_super) {\n __extends(NgLocaleLocalization, _super);\n function NgLocaleLocalization(locale, /** @deprecated from v5 */\n deprecatedPluralFn) {\n var _this = _super.call(this) || this;\n _this.locale = locale;\n _this.deprecatedPluralFn = deprecatedPluralFn;\n return _this;\n }\n /**\n * @param {?} value\n * @param {?=} locale\n * @return {?}\n */\n NgLocaleLocalization.prototype.getPluralCategory = /**\n * @param {?} value\n * @param {?=} locale\n * @return {?}\n */\n function (value, locale) {\n var /** @type {?} */ plural = this.deprecatedPluralFn ? this.deprecatedPluralFn(locale || this.locale, value) :\n getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n };\n NgLocaleLocalization.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n NgLocaleLocalization.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DEPRECATED_PLURAL_FN,] },] },\n ]; };\n return NgLocaleLocalization;\n}(NgLocalization));\n/**\n * Returns the plural case based on the locale\n *\n * @deprecated from v5 the plural case function is in locale data files common/locales/*.ts\n * \\@experimental\n * @param {?} locale\n * @param {?} nLike\n * @return {?}\n */\nfunction getPluralCase(locale, nLike) {\n // TODO(vicb): lazy compute\n if (typeof nLike === 'string') {\n nLike = parseInt(/** @type {?} */ (nLike), 10);\n }\n var /** @type {?} */ n = /** @type {?} */ (nLike);\n var /** @type {?} */ nDecimal = n.toString().replace(/^[^.]*\\.?/, '');\n var /** @type {?} */ i = Math.floor(Math.abs(n));\n var /** @type {?} */ v = nDecimal.length;\n var /** @type {?} */ f = parseInt(nDecimal, 10);\n var /** @type {?} */ t = parseInt(n.toString().replace(/^[^.]*\\.?|0+$/g, ''), 10) || 0;\n var /** @type {?} */ lang = locale.split('-')[0].toLowerCase();\n switch (lang) {\n case 'af':\n case 'asa':\n case 'az':\n case 'bem':\n case 'bez':\n case 'bg':\n case 'brx':\n case 'ce':\n case 'cgg':\n case 'chr':\n case 'ckb':\n case 'ee':\n case 'el':\n case 'eo':\n case 'es':\n case 'eu':\n case 'fo':\n case 'fur':\n case 'gsw':\n case 'ha':\n case 'haw':\n case 'hu':\n case 'jgo':\n case 'jmc':\n case 'ka':\n case 'kk':\n case 'kkj':\n case 'kl':\n case 'ks':\n case 'ksb':\n case 'ky':\n case 'lb':\n case 'lg':\n case 'mas':\n case 'mgo':\n case 'ml':\n case 'mn':\n case 'nb':\n case 'nd':\n case 'ne':\n case 'nn':\n case 'nnh':\n case 'nyn':\n case 'om':\n case 'or':\n case 'os':\n case 'ps':\n case 'rm':\n case 'rof':\n case 'rwk':\n case 'saq':\n case 'seh':\n case 'sn':\n case 'so':\n case 'sq':\n case 'ta':\n case 'te':\n case 'teo':\n case 'tk':\n case 'tr':\n case 'ug':\n case 'uz':\n case 'vo':\n case 'vun':\n case 'wae':\n case 'xog':\n if (n === 1)\n return Plural.One;\n return Plural.Other;\n case 'ak':\n case 'ln':\n case 'mg':\n case 'pa':\n case 'ti':\n if (n === Math.floor(n) && n >= 0 && n <= 1)\n return Plural.One;\n return Plural.Other;\n case 'am':\n case 'as':\n case 'bn':\n case 'fa':\n case 'gu':\n case 'hi':\n case 'kn':\n case 'mr':\n case 'zu':\n if (i === 0 || n === 1)\n return Plural.One;\n return Plural.Other;\n case 'ar':\n if (n === 0)\n return Plural.Zero;\n if (n === 1)\n return Plural.One;\n if (n === 2)\n return Plural.Two;\n if (n % 100 === Math.floor(n % 100) && n % 100 >= 3 && n % 100 <= 10)\n return Plural.Few;\n if (n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 99)\n return Plural.Many;\n return Plural.Other;\n case 'ast':\n case 'ca':\n case 'de':\n case 'en':\n case 'et':\n case 'fi':\n case 'fy':\n case 'gl':\n case 'it':\n case 'nl':\n case 'sv':\n case 'sw':\n case 'ur':\n case 'yi':\n if (i === 1 && v === 0)\n return Plural.One;\n return Plural.Other;\n case 'be':\n if (n % 10 === 1 && !(n % 100 === 11))\n return Plural.One;\n if (n % 10 === Math.floor(n % 10) && n % 10 >= 2 && n % 10 <= 4 &&\n !(n % 100 >= 12 && n % 100 <= 14))\n return Plural.Few;\n if (n % 10 === 0 || n % 10 === Math.floor(n % 10) && n % 10 >= 5 && n % 10 <= 9 ||\n n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 14)\n return Plural.Many;\n return Plural.Other;\n case 'br':\n if (n % 10 === 1 && !(n % 100 === 11 || n % 100 === 71 || n % 100 === 91))\n return Plural.One;\n if (n % 10 === 2 && !(n % 100 === 12 || n % 100 === 72 || n % 100 === 92))\n return Plural.Two;\n if (n % 10 === Math.floor(n % 10) && (n % 10 >= 3 && n % 10 <= 4 || n % 10 === 9) &&\n !(n % 100 >= 10 && n % 100 <= 19 || n % 100 >= 70 && n % 100 <= 79 ||\n n % 100 >= 90 && n % 100 <= 99))\n return Plural.Few;\n if (!(n === 0) && n % 1e6 === 0)\n return Plural.Many;\n return Plural.Other;\n case 'bs':\n case 'hr':\n case 'sr':\n if (v === 0 && i % 10 === 1 && !(i % 100 === 11) || f % 10 === 1 && !(f % 100 === 11))\n return Plural.One;\n if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&\n !(i % 100 >= 12 && i % 100 <= 14) ||\n f % 10 === Math.floor(f % 10) && f % 10 >= 2 && f % 10 <= 4 &&\n !(f % 100 >= 12 && f % 100 <= 14))\n return Plural.Few;\n return Plural.Other;\n case 'cs':\n case 'sk':\n if (i === 1 && v === 0)\n return Plural.One;\n if (i === Math.floor(i) && i >= 2 && i <= 4 && v === 0)\n return Plural.Few;\n if (!(v === 0))\n return Plural.Many;\n return Plural.Other;\n case 'cy':\n if (n === 0)\n return Plural.Zero;\n if (n === 1)\n return Plural.One;\n if (n === 2)\n return Plural.Two;\n if (n === 3)\n return Plural.Few;\n if (n === 6)\n return Plural.Many;\n return Plural.Other;\n case 'da':\n if (n === 1 || !(t === 0) && (i === 0 || i === 1))\n return Plural.One;\n return Plural.Other;\n case 'dsb':\n case 'hsb':\n if (v === 0 && i % 100 === 1 || f % 100 === 1)\n return Plural.One;\n if (v === 0 && i % 100 === 2 || f % 100 === 2)\n return Plural.Two;\n if (v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 3 && i % 100 <= 4 ||\n f % 100 === Math.floor(f % 100) && f % 100 >= 3 && f % 100 <= 4)\n return Plural.Few;\n return Plural.Other;\n case 'ff':\n case 'fr':\n case 'hy':\n case 'kab':\n if (i === 0 || i === 1)\n return Plural.One;\n return Plural.Other;\n case 'fil':\n if (v === 0 && (i === 1 || i === 2 || i === 3) ||\n v === 0 && !(i % 10 === 4 || i % 10 === 6 || i % 10 === 9) ||\n !(v === 0) && !(f % 10 === 4 || f % 10 === 6 || f % 10 === 9))\n return Plural.One;\n return Plural.Other;\n case 'ga':\n if (n === 1)\n return Plural.One;\n if (n === 2)\n return Plural.Two;\n if (n === Math.floor(n) && n >= 3 && n <= 6)\n return Plural.Few;\n if (n === Math.floor(n) && n >= 7 && n <= 10)\n return Plural.Many;\n return Plural.Other;\n case 'gd':\n if (n === 1 || n === 11)\n return Plural.One;\n if (n === 2 || n === 12)\n return Plural.Two;\n if (n === Math.floor(n) && (n >= 3 && n <= 10 || n >= 13 && n <= 19))\n return Plural.Few;\n return Plural.Other;\n case 'gv':\n if (v === 0 && i % 10 === 1)\n return Plural.One;\n if (v === 0 && i % 10 === 2)\n return Plural.Two;\n if (v === 0 &&\n (i % 100 === 0 || i % 100 === 20 || i % 100 === 40 || i % 100 === 60 || i % 100 === 80))\n return Plural.Few;\n if (!(v === 0))\n return Plural.Many;\n return Plural.Other;\n case 'he':\n if (i === 1 && v === 0)\n return Plural.One;\n if (i === 2 && v === 0)\n return Plural.Two;\n if (v === 0 && !(n >= 0 && n <= 10) && n % 10 === 0)\n return Plural.Many;\n return Plural.Other;\n case 'is':\n if (t === 0 && i % 10 === 1 && !(i % 100 === 11) || !(t === 0))\n return Plural.One;\n return Plural.Other;\n case 'ksh':\n if (n === 0)\n return Plural.Zero;\n if (n === 1)\n return Plural.One;\n return Plural.Other;\n case 'kw':\n case 'naq':\n case 'se':\n case 'smn':\n if (n === 1)\n return Plural.One;\n if (n === 2)\n return Plural.Two;\n return Plural.Other;\n case 'lag':\n if (n === 0)\n return Plural.Zero;\n if ((i === 0 || i === 1) && !(n === 0))\n return Plural.One;\n return Plural.Other;\n case 'lt':\n if (n % 10 === 1 && !(n % 100 >= 11 && n % 100 <= 19))\n return Plural.One;\n if (n % 10 === Math.floor(n % 10) && n % 10 >= 2 && n % 10 <= 9 &&\n !(n % 100 >= 11 && n % 100 <= 19))\n return Plural.Few;\n if (!(f === 0))\n return Plural.Many;\n return Plural.Other;\n case 'lv':\n case 'prg':\n if (n % 10 === 0 || n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 19 ||\n v === 2 && f % 100 === Math.floor(f % 100) && f % 100 >= 11 && f % 100 <= 19)\n return Plural.Zero;\n if (n % 10 === 1 && !(n % 100 === 11) || v === 2 && f % 10 === 1 && !(f % 100 === 11) ||\n !(v === 2) && f % 10 === 1)\n return Plural.One;\n return Plural.Other;\n case 'mk':\n if (v === 0 && i % 10 === 1 || f % 10 === 1)\n return Plural.One;\n return Plural.Other;\n case 'mt':\n if (n === 1)\n return Plural.One;\n if (n === 0 || n % 100 === Math.floor(n % 100) && n % 100 >= 2 && n % 100 <= 10)\n return Plural.Few;\n if (n % 100 === Math.floor(n % 100) && n % 100 >= 11 && n % 100 <= 19)\n return Plural.Many;\n return Plural.Other;\n case 'pl':\n if (i === 1 && v === 0)\n return Plural.One;\n if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&\n !(i % 100 >= 12 && i % 100 <= 14))\n return Plural.Few;\n if (v === 0 && !(i === 1) && i % 10 === Math.floor(i % 10) && i % 10 >= 0 && i % 10 <= 1 ||\n v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 5 && i % 10 <= 9 ||\n v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 12 && i % 100 <= 14)\n return Plural.Many;\n return Plural.Other;\n case 'pt':\n if (n === Math.floor(n) && n >= 0 && n <= 2 && !(n === 2))\n return Plural.One;\n return Plural.Other;\n case 'ro':\n if (i === 1 && v === 0)\n return Plural.One;\n if (!(v === 0) || n === 0 ||\n !(n === 1) && n % 100 === Math.floor(n % 100) && n % 100 >= 1 && n % 100 <= 19)\n return Plural.Few;\n return Plural.Other;\n case 'ru':\n case 'uk':\n if (v === 0 && i % 10 === 1 && !(i % 100 === 11))\n return Plural.One;\n if (v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 2 && i % 10 <= 4 &&\n !(i % 100 >= 12 && i % 100 <= 14))\n return Plural.Few;\n if (v === 0 && i % 10 === 0 ||\n v === 0 && i % 10 === Math.floor(i % 10) && i % 10 >= 5 && i % 10 <= 9 ||\n v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 11 && i % 100 <= 14)\n return Plural.Many;\n return Plural.Other;\n case 'shi':\n if (i === 0 || n === 1)\n return Plural.One;\n if (n === Math.floor(n) && n >= 2 && n <= 10)\n return Plural.Few;\n return Plural.Other;\n case 'si':\n if (n === 0 || n === 1 || i === 0 && f === 1)\n return Plural.One;\n return Plural.Other;\n case 'sl':\n if (v === 0 && i % 100 === 1)\n return Plural.One;\n if (v === 0 && i % 100 === 2)\n return Plural.Two;\n if (v === 0 && i % 100 === Math.floor(i % 100) && i % 100 >= 3 && i % 100 <= 4 || !(v === 0))\n return Plural.Few;\n return Plural.Other;\n case 'tzm':\n if (n === Math.floor(n) && n >= 0 && n <= 1 || n === Math.floor(n) && n >= 11 && n <= 99)\n return Plural.One;\n return Plural.Other;\n // When there is no specification, the default is always \"other\"\n // Spec: http://cldr.unicode.org/index/cldr-spec/plural-rules\n // > other (required—general plural form — also used if the language only has a single form)\n default:\n return Plural.Other;\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} cookieStr\n * @param {?} name\n * @return {?}\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (var _i = 0, _a = cookieStr.split(';'); _i < _a.length; _i++) {\n var cookie = _a[_i];\n var /** @type {?} */ eqIndex = cookie.indexOf('=');\n var _b = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)], cookieName = _b[0], cookieValue = _b[1];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Adds and removes CSS classes on an HTML element.\n *\n * \\@howToUse\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * \\@description\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * \\@stable\n */\nvar NgClass = /** @class */ (function () {\n function NgClass(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._initialClasses = [];\n }\n Object.defineProperty(NgClass.prototype, \"klass\", {\n set: /**\n * @param {?} v\n * @return {?}\n */\n function (v) {\n this._applyInitialClasses(true);\n this._initialClasses = typeof v === 'string' ? v.split(/\\s+/) : [];\n this._applyInitialClasses(false);\n this._applyClasses(this._rawClass, false);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgClass.prototype, \"ngClass\", {\n set: /**\n * @param {?} v\n * @return {?}\n */\n function (v) {\n this._cleanupClasses(this._rawClass);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof v === 'string' ? v.split(/\\s+/) : v;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n NgClass.prototype.ngDoCheck = /**\n * @return {?}\n */\n function () {\n if (this._iterableDiffer) {\n var /** @type {?} */ iterableChanges = this._iterableDiffer.diff(/** @type {?} */ (this._rawClass));\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n var /** @type {?} */ keyValueChanges = this._keyValueDiffer.diff(/** @type {?} */ (this._rawClass));\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n };\n /**\n * @param {?} rawClassVal\n * @return {?}\n */\n NgClass.prototype._cleanupClasses = /**\n * @param {?} rawClassVal\n * @return {?}\n */\n function (rawClassVal) {\n this._applyClasses(rawClassVal, true);\n this._applyInitialClasses(false);\n };\n /**\n * @param {?} changes\n * @return {?}\n */\n NgClass.prototype._applyKeyValueChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n var _this = this;\n changes.forEachAddedItem(function (record) { return _this._toggleClass(record.key, record.currentValue); });\n changes.forEachChangedItem(function (record) { return _this._toggleClass(record.key, record.currentValue); });\n changes.forEachRemovedItem(function (record) {\n if (record.previousValue) {\n _this._toggleClass(record.key, false);\n }\n });\n };\n /**\n * @param {?} changes\n * @return {?}\n */\n NgClass.prototype._applyIterableChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n var _this = this;\n changes.forEachAddedItem(function (record) {\n if (typeof record.item === 'string') {\n _this._toggleClass(record.item, true);\n }\n else {\n throw new Error(\"NgClass can only toggle CSS classes expressed as strings, got \" + ɵstringify(record.item));\n }\n });\n changes.forEachRemovedItem(function (record) { return _this._toggleClass(record.item, false); });\n };\n /**\n * @param {?} isCleanup\n * @return {?}\n */\n NgClass.prototype._applyInitialClasses = /**\n * @param {?} isCleanup\n * @return {?}\n */\n function (isCleanup) {\n var _this = this;\n this._initialClasses.forEach(function (klass) { return _this._toggleClass(klass, !isCleanup); });\n };\n /**\n * @param {?} rawClassVal\n * @param {?} isCleanup\n * @return {?}\n */\n NgClass.prototype._applyClasses = /**\n * @param {?} rawClassVal\n * @param {?} isCleanup\n * @return {?}\n */\n function (rawClassVal, isCleanup) {\n var _this = this;\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n (/** @type {?} */ (rawClassVal)).forEach(function (klass) { return _this._toggleClass(klass, !isCleanup); });\n }\n else {\n Object.keys(rawClassVal).forEach(function (klass) {\n if (rawClassVal[klass] != null)\n _this._toggleClass(klass, !isCleanup);\n });\n }\n }\n };\n /**\n * @param {?} klass\n * @param {?} enabled\n * @return {?}\n */\n NgClass.prototype._toggleClass = /**\n * @param {?} klass\n * @param {?} enabled\n * @return {?}\n */\n function (klass, enabled) {\n var _this = this;\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(function (klass) {\n if (enabled) {\n _this._renderer.addClass(_this._ngEl.nativeElement, klass);\n }\n else {\n _this._renderer.removeClass(_this._ngEl.nativeElement, klass);\n }\n });\n }\n };\n NgClass.decorators = [\n { type: Directive, args: [{ selector: '[ngClass]' },] },\n ];\n /** @nocollapse */\n NgClass.ctorParameters = function () { return [\n { type: IterableDiffers, },\n { type: KeyValueDiffers, },\n { type: ElementRef, },\n { type: Renderer2, },\n ]; };\n NgClass.propDecorators = {\n \"klass\": [{ type: Input, args: ['class',] },],\n \"ngClass\": [{ type: Input },],\n };\n return NgClass;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a single {\\@link Component} type and inserts its Host View into current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will get destroyed.\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {\\@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow dynamically loading other\n * module, then load a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n * ## Example\n *\n * {\\@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {\\@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n * A more complete example with ngModuleFactory:\n *\n * {\\@example common/ngComponentOutlet/ts/module.ts region='NgModuleFactoryExample'}\n *\n * \\@experimental\n */\nvar NgComponentOutlet = /** @class */ (function () {\n function NgComponentOutlet(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._componentRef = null;\n this._moduleRef = null;\n }\n /**\n * @param {?} changes\n * @return {?}\n */\n NgComponentOutlet.prototype.ngOnChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n if (this.ngComponentOutlet) {\n var /** @type {?} */ elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (this.ngComponentOutletNgModuleFactory) {\n var /** @type {?} */ parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n }\n else {\n this._moduleRef = null;\n }\n }\n var /** @type {?} */ componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n var /** @type {?} */ componentFactory = componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n this._componentRef = this._viewContainerRef.createComponent(componentFactory, this._viewContainerRef.length, elInjector, this.ngComponentOutletContent);\n }\n };\n /**\n * @return {?}\n */\n NgComponentOutlet.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () {\n if (this._moduleRef)\n this._moduleRef.destroy();\n };\n NgComponentOutlet.decorators = [\n { type: Directive, args: [{ selector: '[ngComponentOutlet]' },] },\n ];\n /** @nocollapse */\n NgComponentOutlet.ctorParameters = function () { return [\n { type: ViewContainerRef, },\n ]; };\n NgComponentOutlet.propDecorators = {\n \"ngComponentOutlet\": [{ type: Input },],\n \"ngComponentOutletInjector\": [{ type: Input },],\n \"ngComponentOutletContent\": [{ type: Input },],\n \"ngComponentOutletNgModuleFactory\": [{ type: Input },],\n };\n return NgComponentOutlet;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@stable\n */\nvar NgForOfContext = /** @class */ (function () {\n function NgForOfContext($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n Object.defineProperty(NgForOfContext.prototype, \"first\", {\n get: /**\n * @return {?}\n */\n function () { return this.index === 0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgForOfContext.prototype, \"last\", {\n get: /**\n * @return {?}\n */\n function () { return this.index === this.count - 1; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgForOfContext.prototype, \"even\", {\n get: /**\n * @return {?}\n */\n function () { return this.index % 2 === 0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgForOfContext.prototype, \"odd\", {\n get: /**\n * @return {?}\n */\n function () { return !this.even; },\n enumerable: true,\n configurable: true\n });\n return NgForOfContext;\n}());\n/**\n * The `NgForOf` directive instantiates a template once per item from an iterable. The context\n * for each instantiated template inherits from the outer context with the given loop variable\n * set to the current item from the iterable.\n *\n * ### Local Variables\n *\n * `NgForOf` provides several exported values that can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * ### Change Propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n * * Otherwise, the DOM element for that item will remain the same.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls (such as `` elements which accept user input) that are present. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n *\n * It is possible for the identities of elements in the iterator to change while the data does not.\n * This can happen, for example, if the iterator produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response will produce objects with\n * different identities, and Angular will tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted). This is an expensive operation and should\n * be avoided if possible.\n *\n * To customize the default tracking algorithm, `NgForOf` supports `trackBy` option.\n * `trackBy` takes a function which has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * ### Syntax\n *\n * - `
  • ...
  • `\n *\n * With `` element:\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * ### Example\n *\n * See a [live demo](http://plnkr.co/edit/KVuXxDp0qinGDyo307QW?p=preview) for a more detailed\n * example.\n *\n * \\@stable\n */\nvar NgForOf = /** @class */ (function () {\n function NgForOf(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._differ = null;\n }\n Object.defineProperty(NgForOf.prototype, \"ngForTrackBy\", {\n get: /**\n * @return {?}\n */\n function () { return this._trackByFn; },\n set: /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n if (isDevMode() && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (/** @type {?} */ (console) && /** @type {?} */ (console.warn)) {\n console.warn(\"trackBy must be a function, but received \" + JSON.stringify(fn) + \". \" +\n \"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information.\");\n }\n }\n this._trackByFn = fn;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgForOf.prototype, \"ngForTemplate\", {\n set: /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} changes\n * @return {?}\n */\n NgForOf.prototype.ngOnChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n if ('ngForOf' in changes) {\n // React on ngForOf changes only once all inputs have been initialized\n var /** @type {?} */ value = changes['ngForOf'].currentValue;\n if (!this._differ && value) {\n try {\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch (/** @type {?} */ e) {\n throw new Error(\"Cannot find a differ supporting object '\" + value + \"' of type '\" + getTypeNameForDebugging(value) + \"'. NgFor only supports binding to Iterables such as Arrays.\");\n }\n }\n }\n };\n /**\n * @return {?}\n */\n NgForOf.prototype.ngDoCheck = /**\n * @return {?}\n */\n function () {\n if (this._differ) {\n var /** @type {?} */ changes = this._differ.diff(this.ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n };\n /**\n * @param {?} changes\n * @return {?}\n */\n NgForOf.prototype._applyChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n var _this = this;\n var /** @type {?} */ insertTuples = [];\n changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {\n if (item.previousIndex == null) {\n var /** @type {?} */ view = _this._viewContainer.createEmbeddedView(_this._template, new NgForOfContext(/** @type {?} */ ((null)), _this.ngForOf, -1, -1), currentIndex);\n var /** @type {?} */ tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n else if (currentIndex == null) {\n _this._viewContainer.remove(adjustedPreviousIndex);\n }\n else {\n var /** @type {?} */ view = /** @type {?} */ ((_this._viewContainer.get(adjustedPreviousIndex)));\n _this._viewContainer.move(view, currentIndex);\n var /** @type {?} */ tuple = new RecordViewTuple(item, /** @type {?} */ (view));\n insertTuples.push(tuple);\n }\n });\n for (var /** @type {?} */ i = 0; i < insertTuples.length; i++) {\n this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n }\n for (var /** @type {?} */ i = 0, /** @type {?} */ ilen = this._viewContainer.length; i < ilen; i++) {\n var /** @type {?} */ viewRef = /** @type {?} */ (this._viewContainer.get(i));\n viewRef.context.index = i;\n viewRef.context.count = ilen;\n }\n changes.forEachIdentityChange(function (record) {\n var /** @type {?} */ viewRef = /** @type {?} */ (_this._viewContainer.get(record.currentIndex));\n viewRef.context.$implicit = record.item;\n });\n };\n /**\n * @param {?} view\n * @param {?} record\n * @return {?}\n */\n NgForOf.prototype._perViewChange = /**\n * @param {?} view\n * @param {?} record\n * @return {?}\n */\n function (view, record) {\n view.context.$implicit = record.item;\n };\n NgForOf.decorators = [\n { type: Directive, args: [{ selector: '[ngFor][ngForOf]' },] },\n ];\n /** @nocollapse */\n NgForOf.ctorParameters = function () { return [\n { type: ViewContainerRef, },\n { type: TemplateRef, },\n { type: IterableDiffers, },\n ]; };\n NgForOf.propDecorators = {\n \"ngForOf\": [{ type: Input },],\n \"ngForTrackBy\": [{ type: Input },],\n \"ngForTemplate\": [{ type: Input },],\n };\n return NgForOf;\n}());\nvar RecordViewTuple = /** @class */ (function () {\n function RecordViewTuple(record, view) {\n this.record = record;\n this.view = view;\n }\n return RecordViewTuple;\n}());\n/**\n * @param {?} type\n * @return {?}\n */\nfunction getTypeNameForDebugging(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Conditionally includes a template based on the value of an `expression`.\n *\n * `ngIf` evaluates the `expression` and then renders the `then` or `else` template in its place\n * when expression is truthy or falsy respectively. Typically the:\n * - `then` template is the inline template of `ngIf` unless bound to a different value.\n * - `else` template is blank unless it is bound.\n *\n * ## Most common usage\n *\n * The most common usage of the `ngIf` directive is to conditionally show the inline template as\n * seen in this example:\n * {\\@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ## Showing an alternative template using `else`\n *\n * If it is necessary to display a template when the `expression` is falsy use the `else` template\n * binding as shown. Note that the `else` binding points to a `` labeled `#elseBlock`.\n * The template can be defined anywhere in the component view but is typically placed right after\n * `ngIf` for readability.\n *\n * {\\@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ## Using non-inlined `then` template\n *\n * Usually the `then` template is the inlined template of the `ngIf`, but it can be changed using\n * a binding (just like `else`). Because `then` and `else` are bindings, the template references can\n * change at runtime as shown in this example.\n *\n * {\\@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ## Storing conditional result in a variable\n *\n * A common pattern is that we need to show a set of properties from the same object. If the\n * object is undefined, then we have to use the safe-traversal-operator `?.` to guard against\n * dereferencing a `null` value. This is especially the case when waiting on async data such as\n * when using the `async` pipe as shown in following example:\n *\n * ```\n * Hello {{ (userStream|async)?.last }}, {{ (userStream|async)?.first }}!\n * ```\n *\n * There are several inefficiencies in the above example:\n * - We create multiple subscriptions on `userStream`. One for each `async` pipe, or two in the\n * example above.\n * - We cannot display an alternative screen while waiting for the data to arrive asynchronously.\n * - We have to use the safe-traversal-operator `?.` to access properties, which is cumbersome.\n * - We have to place the `async` pipe in parenthesis.\n *\n * A better way to do this is to use `ngIf` and store the result of the condition in a local\n * variable as shown in the the example below:\n *\n * {\\@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * Notice that:\n * - We use only one `async` pipe and hence only one subscription gets created.\n * - `ngIf` stores the result of the `userStream|async` in the local variable `user`.\n * - The local `user` can then be bound repeatedly in a more efficient way.\n * - No need to use the safe-traversal-operator `?.` to access properties as `ngIf` will only\n * display the data if `userStream` returns a value.\n * - We can display an alternative template while waiting for the data.\n *\n * ### Syntax\n *\n * Simple form:\n * - `
    ...
    `\n * - `
    ...
    `\n *\n * Form with an else block:\n * ```\n *
    ...
    \n * ...\n * ```\n *\n * Form with a `then` and `else` block:\n * ```\n *
    \n * ...\n * ...\n * ```\n *\n * Form with storing the value locally:\n * ```\n *
    {{value}}
    \n * ...\n * ```\n *\n * \\@stable\n */\nvar NgIf = /** @class */ (function () {\n function NgIf(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n Object.defineProperty(NgIf.prototype, \"ngIf\", {\n set: /**\n * @param {?} condition\n * @return {?}\n */\n function (condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgIf.prototype, \"ngIfThen\", {\n set: /**\n * @param {?} templateRef\n * @return {?}\n */\n function (templateRef) {\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgIf.prototype, \"ngIfElse\", {\n set: /**\n * @param {?} templateRef\n * @return {?}\n */\n function (templateRef) {\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n NgIf.prototype._updateView = /**\n * @return {?}\n */\n function () {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n };\n NgIf.decorators = [\n { type: Directive, args: [{ selector: '[ngIf]' },] },\n ];\n /** @nocollapse */\n NgIf.ctorParameters = function () { return [\n { type: ViewContainerRef, },\n { type: TemplateRef, },\n ]; };\n NgIf.propDecorators = {\n \"ngIf\": [{ type: Input },],\n \"ngIfThen\": [{ type: Input },],\n \"ngIfElse\": [{ type: Input },],\n };\n return NgIf;\n}());\n/**\n * \\@stable\n */\nvar NgIfContext = /** @class */ (function () {\n function NgIfContext() {\n this.$implicit = null;\n this.ngIf = null;\n }\n return NgIfContext;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar SwitchView = /** @class */ (function () {\n function SwitchView(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n /**\n * @return {?}\n */\n SwitchView.prototype.create = /**\n * @return {?}\n */\n function () {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n };\n /**\n * @return {?}\n */\n SwitchView.prototype.destroy = /**\n * @return {?}\n */\n function () {\n this._created = false;\n this._viewContainerRef.clear();\n };\n /**\n * @param {?} created\n * @return {?}\n */\n SwitchView.prototype.enforceState = /**\n * @param {?} created\n * @return {?}\n */\n function (created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n };\n return SwitchView;\n}());\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Adds / removes DOM sub-trees when the nest match expressions matches the switch\n * expression.\n *\n * \\@howToUse\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n * \\@description\n *\n * `NgSwitch` stamps out nested views when their match expression value matches the value of the\n * switch expression.\n *\n * In other words:\n * - you define a container element (where you place the directive with a switch expression on the\n * `[ngSwitch]=\"...\"` attribute)\n * - you define inner views inside the `NgSwitch` and place a `*ngSwitchCase` attribute on the view\n * root elements.\n *\n * Elements within `NgSwitch` but outside of a `NgSwitchCase` or `NgSwitchDefault` directives will\n * be preserved at the location.\n *\n * The `ngSwitchCase` directive informs the parent `NgSwitch` of which view to display when the\n * expression is evaluated.\n * When no matching expression is found on a `ngSwitchCase` view, the `ngSwitchDefault` view is\n * stamped out.\n *\n * \\@stable\n */\nvar NgSwitch = /** @class */ (function () {\n function NgSwitch() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n Object.defineProperty(NgSwitch.prototype, \"ngSwitch\", {\n set: /**\n * @param {?} newValue\n * @return {?}\n */\n function (newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n },\n enumerable: true,\n configurable: true\n });\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n NgSwitch.prototype._addCase = /**\n * \\@internal\n * @return {?}\n */\n function () { return this._caseCount++; };\n /** @internal */\n /**\n * \\@internal\n * @param {?} view\n * @return {?}\n */\n NgSwitch.prototype._addDefault = /**\n * \\@internal\n * @param {?} view\n * @return {?}\n */\n function (view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n NgSwitch.prototype._matchCase = /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n function (value) {\n var /** @type {?} */ matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n };\n /**\n * @param {?} useDefault\n * @return {?}\n */\n NgSwitch.prototype._updateDefaultCases = /**\n * @param {?} useDefault\n * @return {?}\n */\n function (useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (var /** @type {?} */ i = 0; i < this._defaultViews.length; i++) {\n var /** @type {?} */ defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n };\n NgSwitch.decorators = [\n { type: Directive, args: [{ selector: '[ngSwitch]' },] },\n ];\n /** @nocollapse */\n NgSwitch.ctorParameters = function () { return []; };\n NgSwitch.propDecorators = {\n \"ngSwitch\": [{ type: Input },],\n };\n return NgSwitch;\n}());\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Creates a view that will be added/removed from the parent {\\@link NgSwitch} when the\n * given expression evaluate to respectively the same/different value as the switch\n * expression.\n *\n * \\@howToUse\n * ```\n * \n * ...\n * \n * ```\n * \\@description\n *\n * Insert the sub-tree when the expression evaluates to the same value as the enclosing switch\n * expression.\n *\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * See {\\@link NgSwitch} for more details and example.\n *\n * \\@stable\n */\nvar NgSwitchCase = /** @class */ (function () {\n function NgSwitchCase(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * @return {?}\n */\n NgSwitchCase.prototype.ngDoCheck = /**\n * @return {?}\n */\n function () { this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase)); };\n NgSwitchCase.decorators = [\n { type: Directive, args: [{ selector: '[ngSwitchCase]' },] },\n ];\n /** @nocollapse */\n NgSwitchCase.ctorParameters = function () { return [\n { type: ViewContainerRef, },\n { type: TemplateRef, },\n { type: NgSwitch, decorators: [{ type: Host },] },\n ]; };\n NgSwitchCase.propDecorators = {\n \"ngSwitchCase\": [{ type: Input },],\n };\n return NgSwitchCase;\n}());\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Creates a view that is added to the parent {\\@link NgSwitch} when no case expressions\n * match the\n * switch expression.\n *\n * \\@howToUse\n * ```\n * \n * ...\n * ...\n * \n * ```\n *\n * \\@description\n *\n * Insert the sub-tree when no case expressions evaluate to the same value as the enclosing switch\n * expression.\n *\n * See {\\@link NgSwitch} for more details and example.\n *\n * \\@stable\n */\nvar NgSwitchDefault = /** @class */ (function () {\n function NgSwitchDefault(viewContainer, templateRef, ngSwitch) {\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n NgSwitchDefault.decorators = [\n { type: Directive, args: [{ selector: '[ngSwitchDefault]' },] },\n ];\n /** @nocollapse */\n NgSwitchDefault.ctorParameters = function () { return [\n { type: ViewContainerRef, },\n { type: TemplateRef, },\n { type: NgSwitch, decorators: [{ type: Host },] },\n ]; };\n return NgSwitchDefault;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * \\@howToUse\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * \\@description\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * \\@experimental\n */\nvar NgPlural = /** @class */ (function () {\n function NgPlural(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n Object.defineProperty(NgPlural.prototype, \"ngPlural\", {\n set: /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n this._switchValue = value;\n this._updateView();\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} value\n * @param {?} switchView\n * @return {?}\n */\n NgPlural.prototype.addCase = /**\n * @param {?} value\n * @param {?} switchView\n * @return {?}\n */\n function (value, switchView) { this._caseViews[value] = switchView; };\n /**\n * @return {?}\n */\n NgPlural.prototype._updateView = /**\n * @return {?}\n */\n function () {\n this._clearViews();\n var /** @type {?} */ cases = Object.keys(this._caseViews);\n var /** @type {?} */ key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n };\n /**\n * @return {?}\n */\n NgPlural.prototype._clearViews = /**\n * @return {?}\n */\n function () {\n if (this._activeView)\n this._activeView.destroy();\n };\n /**\n * @param {?} view\n * @return {?}\n */\n NgPlural.prototype._activateView = /**\n * @param {?} view\n * @return {?}\n */\n function (view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n };\n NgPlural.decorators = [\n { type: Directive, args: [{ selector: '[ngPlural]' },] },\n ];\n /** @nocollapse */\n NgPlural.ctorParameters = function () { return [\n { type: NgLocalization, },\n ]; };\n NgPlural.propDecorators = {\n \"ngPlural\": [{ type: Input },],\n };\n return NgPlural;\n}());\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Creates a view that will be added/removed from the parent {\\@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * \\@howToUse\n * ```\n * \n * ...\n * ...\n * \n * ```\n *\n * See {\\@link NgPlural} for more details and example.\n *\n * \\@experimental\n */\nvar NgPluralCase = /** @class */ (function () {\n function NgPluralCase(value, template, viewContainer, ngPlural) {\n this.value = value;\n var /** @type {?} */ isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? \"=\" + value : value, new SwitchView(viewContainer, template));\n }\n NgPluralCase.decorators = [\n { type: Directive, args: [{ selector: '[ngPluralCase]' },] },\n ];\n /** @nocollapse */\n NgPluralCase.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Attribute, args: ['ngPluralCase',] },] },\n { type: TemplateRef, },\n { type: ViewContainerRef, },\n { type: NgPlural, decorators: [{ type: Host },] },\n ]; };\n return NgPluralCase;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Update an HTML element styles.\n *\n * \\@howToUse\n * ```\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * \\@description\n *\n * The styles are updated according to the value of the expression evaluation:\n * - keys are style names with an optional `.` suffix (ie 'top.px', 'font-style.em'),\n * - values are the values assigned to those properties (expressed in the given unit).\n *\n * \\@stable\n */\nvar NgStyle = /** @class */ (function () {\n function NgStyle(_differs, _ngEl, _renderer) {\n this._differs = _differs;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n }\n Object.defineProperty(NgStyle.prototype, \"ngStyle\", {\n set: /**\n * @param {?} v\n * @return {?}\n */\n function (v) {\n this._ngStyle = v;\n if (!this._differ && v) {\n this._differ = this._differs.find(v).create();\n }\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n NgStyle.prototype.ngDoCheck = /**\n * @return {?}\n */\n function () {\n if (this._differ) {\n var /** @type {?} */ changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n };\n /**\n * @param {?} changes\n * @return {?}\n */\n NgStyle.prototype._applyChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n var _this = this;\n changes.forEachRemovedItem(function (record) { return _this._setStyle(record.key, null); });\n changes.forEachAddedItem(function (record) { return _this._setStyle(record.key, record.currentValue); });\n changes.forEachChangedItem(function (record) { return _this._setStyle(record.key, record.currentValue); });\n };\n /**\n * @param {?} nameAndUnit\n * @param {?} value\n * @return {?}\n */\n NgStyle.prototype._setStyle = /**\n * @param {?} nameAndUnit\n * @param {?} value\n * @return {?}\n */\n function (nameAndUnit, value) {\n var _a = nameAndUnit.split('.'), name = _a[0], unit = _a[1];\n value = value != null && unit ? \"\" + value + unit : value;\n this._renderer.setStyle(this._ngEl.nativeElement, name, /** @type {?} */ (value));\n };\n NgStyle.decorators = [\n { type: Directive, args: [{ selector: '[ngStyle]' },] },\n ];\n /** @nocollapse */\n NgStyle.ctorParameters = function () { return [\n { type: KeyValueDiffers, },\n { type: ElementRef, },\n { type: Renderer2, },\n ]; };\n NgStyle.propDecorators = {\n \"ngStyle\": [{ type: Input },],\n };\n return NgStyle;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n *\n * \\@whatItDoes Inserts an embedded view from a prepared `TemplateRef`\n *\n * \\@howToUse\n * ```\n * \n * ```\n *\n * \\@description\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * Note: using the key `$implicit` in the context object will set it's value as default.\n *\n * ## Example\n *\n * {\\@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * \\@stable\n */\nvar NgTemplateOutlet = /** @class */ (function () {\n function NgTemplateOutlet(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n }\n /**\n * @param {?} changes\n * @return {?}\n */\n NgTemplateOutlet.prototype.ngOnChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n var /** @type {?} */ recreateView = this._shouldRecreateView(changes);\n if (recreateView) {\n if (this._viewRef) {\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef));\n }\n if (this.ngTemplateOutlet) {\n this._viewRef = this._viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext);\n }\n }\n else {\n if (this._viewRef && this.ngTemplateOutletContext) {\n this._updateExistingContext(this.ngTemplateOutletContext);\n }\n }\n };\n /**\n * We need to re-create existing embedded view if:\n * - templateRef has changed\n * - context has changes\n *\n * We mark context object as changed when the corresponding object\n * shape changes (new properties are added or existing properties are removed).\n * In other words we consider context with the same properties as \"the same\" even\n * if object reference changes (see https://github.com/angular/angular/issues/13407).\n * @param {?} changes\n * @return {?}\n */\n NgTemplateOutlet.prototype._shouldRecreateView = /**\n * We need to re-create existing embedded view if:\n * - templateRef has changed\n * - context has changes\n *\n * We mark context object as changed when the corresponding object\n * shape changes (new properties are added or existing properties are removed).\n * In other words we consider context with the same properties as \"the same\" even\n * if object reference changes (see https://github.com/angular/angular/issues/13407).\n * @param {?} changes\n * @return {?}\n */\n function (changes) {\n var /** @type {?} */ ctxChange = changes['ngTemplateOutletContext'];\n return !!changes['ngTemplateOutlet'] || (ctxChange && this._hasContextShapeChanged(ctxChange));\n };\n /**\n * @param {?} ctxChange\n * @return {?}\n */\n NgTemplateOutlet.prototype._hasContextShapeChanged = /**\n * @param {?} ctxChange\n * @return {?}\n */\n function (ctxChange) {\n var /** @type {?} */ prevCtxKeys = Object.keys(ctxChange.previousValue || {});\n var /** @type {?} */ currCtxKeys = Object.keys(ctxChange.currentValue || {});\n if (prevCtxKeys.length === currCtxKeys.length) {\n for (var _i = 0, currCtxKeys_1 = currCtxKeys; _i < currCtxKeys_1.length; _i++) {\n var propName = currCtxKeys_1[_i];\n if (prevCtxKeys.indexOf(propName) === -1) {\n return true;\n }\n }\n return false;\n }\n else {\n return true;\n }\n };\n /**\n * @param {?} ctx\n * @return {?}\n */\n NgTemplateOutlet.prototype._updateExistingContext = /**\n * @param {?} ctx\n * @return {?}\n */\n function (ctx) {\n for (var _i = 0, _a = Object.keys(ctx); _i < _a.length; _i++) {\n var propName = _a[_i];\n (/** @type {?} */ (this._viewRef.context))[propName] = (/** @type {?} */ (this.ngTemplateOutletContext))[propName];\n }\n };\n NgTemplateOutlet.decorators = [\n { type: Directive, args: [{ selector: '[ngTemplateOutlet]' },] },\n ];\n /** @nocollapse */\n NgTemplateOutlet.ctorParameters = function () { return [\n { type: ViewContainerRef, },\n ]; };\n NgTemplateOutlet.propDecorators = {\n \"ngTemplateOutletContext\": [{ type: Input },],\n \"ngTemplateOutlet\": [{ type: Input },],\n };\n return NgTemplateOutlet;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nvar COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar NAMED_FORMATS = {};\nvar DATE_FORMATS_SPLIT = /((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\n/** @enum {number} */\nvar ZoneWidth = {\n Short: 0,\n ShortGMT: 1,\n Long: 2,\n Extended: 3,\n};\nZoneWidth[ZoneWidth.Short] = \"Short\";\nZoneWidth[ZoneWidth.ShortGMT] = \"ShortGMT\";\nZoneWidth[ZoneWidth.Long] = \"Long\";\nZoneWidth[ZoneWidth.Extended] = \"Extended\";\n/** @enum {number} */\nvar DateType = {\n FullYear: 0,\n Month: 1,\n Date: 2,\n Hours: 3,\n Minutes: 4,\n Seconds: 5,\n Milliseconds: 6,\n Day: 7,\n};\nDateType[DateType.FullYear] = \"FullYear\";\nDateType[DateType.Month] = \"Month\";\nDateType[DateType.Date] = \"Date\";\nDateType[DateType.Hours] = \"Hours\";\nDateType[DateType.Minutes] = \"Minutes\";\nDateType[DateType.Seconds] = \"Seconds\";\nDateType[DateType.Milliseconds] = \"Milliseconds\";\nDateType[DateType.Day] = \"Day\";\n/** @enum {number} */\nvar TranslationType = {\n DayPeriods: 0,\n Days: 1,\n Months: 2,\n Eras: 3,\n};\nTranslationType[TranslationType.DayPeriods] = \"DayPeriods\";\nTranslationType[TranslationType.Days] = \"Days\";\nTranslationType[TranslationType.Months] = \"Months\";\nTranslationType[TranslationType.Eras] = \"Eras\";\n/**\n * Transforms a date to a locale string based on a pattern and a timezone\n *\n * \\@internal\n * @param {?} date\n * @param {?} format\n * @param {?} locale\n * @param {?=} timezone\n * @return {?}\n */\nfunction formatDate(date, format, locale, timezone) {\n var /** @type {?} */ namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n var /** @type {?} */ parts = [];\n var /** @type {?} */ match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n var /** @type {?} */ part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n var /** @type {?} */ dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n var /** @type {?} */ text = '';\n parts.forEach(function (value) {\n var /** @type {?} */ dateFormatter = getDateFormatter(value);\n text += dateFormatter ?\n dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' : value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * @param {?} locale\n * @param {?} format\n * @return {?}\n */\nfunction getNamedFormat(locale, format) {\n var /** @type {?} */ localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n var /** @type {?} */ formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n var /** @type {?} */ shortTime = getNamedFormat(locale, 'shortTime');\n var /** @type {?} */ shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n var /** @type {?} */ mediumTime = getNamedFormat(locale, 'mediumTime');\n var /** @type {?} */ mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n var /** @type {?} */ longTime = getNamedFormat(locale, 'longTime');\n var /** @type {?} */ longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n var /** @type {?} */ fullTime = getNamedFormat(locale, 'fullTime');\n var /** @type {?} */ fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\n/**\n * @param {?} str\n * @param {?} opt_values\n * @return {?}\n */\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\n/**\n * @param {?} num\n * @param {?} digits\n * @param {?=} minusSign\n * @param {?=} trim\n * @param {?=} negWrap\n * @return {?}\n */\nfunction padNumber(num, digits, minusSign, trim, negWrap) {\n if (minusSign === void 0) { minusSign = '-'; }\n var /** @type {?} */ neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n var /** @type {?} */ strNum = '' + num;\n while (strNum.length < digits)\n strNum = '0' + strNum;\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n * @param {?} name\n * @param {?} size\n * @param {?=} offset\n * @param {?=} trim\n * @param {?=} negWrap\n * @return {?}\n */\nfunction dateGetter(name, size, offset, trim, negWrap) {\n if (offset === void 0) { offset = 0; }\n if (trim === void 0) { trim = false; }\n if (negWrap === void 0) { negWrap = false; }\n return function (date, locale) {\n var /** @type {?} */ part = getDatePart(name, date, size);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours && part === 0 && offset === -12) {\n part = 12;\n }\n return padNumber(part, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim, negWrap);\n };\n}\n/**\n * @param {?} name\n * @param {?} date\n * @param {?} size\n * @return {?}\n */\nfunction getDatePart(name, date, size) {\n switch (name) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.Milliseconds:\n var /** @type {?} */ div = size === 1 ? 100 : (size === 2 ? 10 : 1);\n return Math.round(date.getMilliseconds() / div);\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(\"Unknown DateType value \\\"\" + name + \"\\\".\");\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n * @param {?} name\n * @param {?} width\n * @param {?=} form\n * @param {?=} extended\n * @return {?}\n */\nfunction dateStrGetter(name, width, form, extended) {\n if (form === void 0) { form = FormStyle.Format; }\n if (extended === void 0) { extended = false; }\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n * @param {?} date\n * @param {?} locale\n * @param {?} name\n * @param {?} width\n * @param {?} form\n * @param {?} extended\n * @return {?}\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n var /** @type {?} */ currentHours_1 = date.getHours();\n var /** @type {?} */ currentMinutes_1 = date.getMinutes();\n if (extended) {\n var /** @type {?} */ rules = getLocaleExtraDayPeriodRules(locale);\n var /** @type {?} */ dayPeriods_1 = getLocaleExtraDayPeriods(locale, form, width);\n var /** @type {?} */ result_1;\n rules.forEach(function (rule, index) {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n var _a = rule[0], hoursFrom = _a.hours, minutesFrom = _a.minutes;\n var _b = rule[1], hoursTo = _b.hours, minutesTo = _b.minutes;\n if (currentHours_1 >= hoursFrom && currentMinutes_1 >= minutesFrom &&\n (currentHours_1 < hoursTo ||\n (currentHours_1 === hoursTo && currentMinutes_1 < minutesTo))) {\n result_1 = dayPeriods_1[index];\n }\n }\n else {\n // noon or midnight\n var hours = rule.hours, minutes = rule.minutes;\n if (hours === currentHours_1 && minutes === currentMinutes_1) {\n result_1 = dayPeriods_1[index];\n }\n }\n });\n if (result_1) {\n return result_1;\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, /** @type {?} */ (width))[currentHours_1 < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, /** @type {?} */ (width))[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n var /** @type {?} */ unexpected = name;\n throw new Error(\"unexpected translation type \" + unexpected);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n * @param {?} width\n * @return {?}\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n var /** @type {?} */ zone = -1 * offset;\n var /** @type {?} */ minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n var /** @type {?} */ hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(\"Unknown zone width \\\"\" + width + \"\\\"\");\n }\n };\n}\nvar JANUARY = 0;\nvar THURSDAY = 4;\n/**\n * @param {?} year\n * @return {?}\n */\nfunction getFirstThursdayOfYear(year) {\n var /** @type {?} */ firstDayOfYear = (new Date(year, JANUARY, 1)).getDay();\n return new Date(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\n/**\n * @param {?} datetime\n * @return {?}\n */\nfunction getThursdayThisWeek(datetime) {\n return new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\n/**\n * @param {?} size\n * @param {?=} monthBased\n * @return {?}\n */\nfunction weekGetter(size, monthBased) {\n if (monthBased === void 0) { monthBased = false; }\n return function (date, locale) {\n var /** @type {?} */ result;\n if (monthBased) {\n var /** @type {?} */ nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n var /** @type {?} */ today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n var /** @type {?} */ firstThurs = getFirstThursdayOfYear(date.getFullYear());\n var /** @type {?} */ thisThurs = getThursdayThisWeek(date);\n var /** @type {?} */ diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\nvar DATE_FORMATS = {};\n/**\n * @param {?} format\n * @return {?}\n */\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n var /** @type {?} */ formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second padded (0-9)\n case 'S':\n formatter = dateGetter(DateType.Milliseconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.Milliseconds, 2);\n break;\n // = millisecond\n case 'SSS':\n formatter = dateGetter(DateType.Milliseconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\n/**\n * @param {?} timezone\n * @param {?} fallback\n * @return {?}\n */\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 9-11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n var /** @type {?} */ requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\n/**\n * @param {?} date\n * @param {?} minutes\n * @return {?}\n */\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\n/**\n * @param {?} date\n * @param {?} timezone\n * @param {?} reverse\n * @return {?}\n */\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n var /** @type {?} */ reverseValue = reverse ? -1 : 1;\n var /** @type {?} */ dateTimezoneOffset = date.getTimezoneOffset();\n var /** @type {?} */ timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} type\n * @param {?} value\n * @return {?}\n */\nfunction invalidPipeArgumentError(type, value) {\n return Error(\"InvalidPipeArgument: '\" + value + \"' for pipe '\" + ɵstringify(type) + \"'\");\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ISO8601_DATE_REGEX = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a date according to locale rules.\n * \\@howToUse `date_expression | date[:format[:timezone[:locale]]]`\n * \\@description\n *\n * Where:\n * - `expression` is a date object or a number (milliseconds since UTC epoch) or an ISO string\n * (https://www.w3.org/TR/NOTE-datetime).\n * - `format` indicates which date/time components to include. The format can be predefined as\n * shown below (all examples are given for `en-US`) or custom as shown in the table.\n * - `'short'`: equivalent to `'M/d/yy, h:mm a'` (e.g. `6/15/15, 9:03 AM`)\n * - `'medium'`: equivalent to `'MMM d, y, h:mm:ss a'` (e.g. `Jun 15, 2015, 9:03:01 AM`)\n * - `'long'`: equivalent to `'MMMM d, y, h:mm:ss a z'` (e.g. `June 15, 2015 at 9:03:01 AM GMT+1`)\n * - `'full'`: equivalent to `'EEEE, MMMM d, y, h:mm:ss a zzzz'` (e.g. `Monday, June 15, 2015 at\n * 9:03:01 AM GMT+01:00`)\n * - `'shortDate'`: equivalent to `'M/d/yy'` (e.g. `6/15/15`)\n * - `'mediumDate'`: equivalent to `'MMM d, y'` (e.g. `Jun 15, 2015`)\n * - `'longDate'`: equivalent to `'MMMM d, y'` (e.g. `June 15, 2015`)\n * - `'fullDate'`: equivalent to `'EEEE, MMMM d, y'` (e.g. `Monday, June 15, 2015`)\n * - `'shortTime'`: equivalent to `'h:mm a'` (e.g. `9:03 AM`)\n * - `'mediumTime'`: equivalent to `'h:mm:ss a'` (e.g. `9:03:01 AM`)\n * - `'longTime'`: equivalent to `'h:mm:ss a z'` (e.g. `9:03:01 AM GMT+1`)\n * - `'fullTime'`: equivalent to `'h:mm:ss a zzzz'` (e.g. `9:03:01 AM GMT+01:00`)\n * - `timezone` to be used for formatting. It understands UTC/GMT and the continental US time zone\n * abbreviations, but for general use, use a time zone offset, for example,\n * `'+0430'` (4 hours, 30 minutes east of the Greenwich meridian)\n * If not specified, the local system timezone of the end-user's browser will be used.\n * - `locale` is a `string` defining the locale to use (uses the current {\\@link LOCALE_ID} by\n * default)\n *\n *\n * | Field Type | Format | Description | Example Value |\n * |--------------------|-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * When the expression is a ISO string without time (e.g. 2016-09-19) the time zone offset is not\n * applied and the formatted text will have the same day, month and year of the expression.\n *\n * WARNINGS:\n * - this pipe has only access to en-US locale data by default. If you want to localize the dates\n * in another language, you will have to import data for other locales.\n * See the {\\@linkDocs guide/i18n#i18n-pipes \"I18n guide\"} to know how to import additional locale\n * data.\n * - Fields suffixed with * are only available in the extra dataset.\n * See the {\\@linkDocs guide/i18n#i18n-pipes \"I18n guide\"} to know how to import extra locale\n * data.\n * - this pipe is marked as pure hence it will not be re-evaluated when the input is mutated.\n * Instead users should treat the date as an immutable object and change the reference when the\n * pipe needs to re-run (this is to avoid reformatting the date on every change detection run\n * which would be an expensive operation).\n *\n * ### Examples\n *\n * Assuming `dateObj` is (year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11)\n * in the _local_ time and locale is 'en-US':\n *\n * {\\@example common/pipes/ts/date_pipe.ts region='DatePipe'}\n *\n * \\@stable\n */\nvar DatePipe = /** @class */ (function () {\n function DatePipe(locale) {\n this.locale = locale;\n }\n /**\n * @param {?} value\n * @param {?=} format\n * @param {?=} timezone\n * @param {?=} locale\n * @return {?}\n */\n DatePipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} format\n * @param {?=} timezone\n * @param {?=} locale\n * @return {?}\n */\n function (value, format, timezone, locale) {\n if (format === void 0) { format = 'mediumDate'; }\n if (value == null || value === '' || value !== value)\n return null;\n if (typeof value === 'string') {\n value = value.trim();\n }\n var /** @type {?} */ date;\n if (isDate$1(value)) {\n date = value;\n }\n else if (!isNaN(value - parseFloat(value))) {\n date = new Date(parseFloat(value));\n }\n else if (typeof value === 'string' && /^(\\d{4}-\\d{1,2}-\\d{1,2})$/.test(value)) {\n /**\n * For ISO Strings without time the day, month and year must be extracted from the ISO String\n * before Date creation to avoid time offset and errors in the new Date.\n * If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n * date, some browsers (e.g. IE 9) will throw an invalid Date error\n * If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n * is applied\n * Note: ISO months are 0 for January, 1 for February, ...\n */\n var _a = value.split('-').map(function (val) { return +val; }), y = _a[0], m = _a[1], d = _a[2];\n date = new Date(y, m - 1, d);\n }\n else {\n date = new Date(value);\n }\n if (!isDate$1(date)) {\n var /** @type {?} */ match = void 0;\n if ((typeof value === 'string') && (match = value.match(ISO8601_DATE_REGEX))) {\n date = isoStringToDate(match);\n }\n else {\n throw invalidPipeArgumentError(DatePipe, value);\n }\n }\n return formatDate(date, format, locale || this.locale, timezone);\n };\n DatePipe.decorators = [\n { type: Pipe, args: [{ name: 'date', pure: true },] },\n ];\n /** @nocollapse */\n DatePipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return DatePipe;\n}());\n/**\n * \\@internal\n * @param {?} match\n * @return {?}\n */\nfunction isoStringToDate(match) {\n var /** @type {?} */ date = new Date(0);\n var /** @type {?} */ tzHour = 0;\n var /** @type {?} */ tzMin = 0;\n var /** @type {?} */ dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n var /** @type {?} */ timeSetter = match[8] ? date.setUTCHours : date.setHours;\n if (match[9]) {\n tzHour = +(match[9] + match[10]);\n tzMin = +(match[9] + match[11]);\n }\n dateSetter.call(date, +(match[1]), +(match[2]) - 1, +(match[3]));\n var /** @type {?} */ h = +(match[4] || '0') - tzHour;\n var /** @type {?} */ m = +(match[5] || '0') - tzMin;\n var /** @type {?} */ s = +(match[6] || '0');\n var /** @type {?} */ ms = Math.round(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isDate$1(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nvar NumberFormatter = /** @class */ (function () {\n function NumberFormatter() {\n }\n /**\n * @param {?} num\n * @param {?} locale\n * @param {?} style\n * @param {?=} opts\n * @return {?}\n */\n NumberFormatter.format = /**\n * @param {?} num\n * @param {?} locale\n * @param {?} style\n * @param {?=} opts\n * @return {?}\n */\n function (num, locale, style, opts) {\n if (opts === void 0) { opts = {}; }\n var minimumIntegerDigits = opts.minimumIntegerDigits, minimumFractionDigits = opts.minimumFractionDigits, maximumFractionDigits = opts.maximumFractionDigits, currency = opts.currency, _a = opts.currencyAsSymbol, currencyAsSymbol = _a === void 0 ? false : _a;\n var /** @type {?} */ options = {\n minimumIntegerDigits: minimumIntegerDigits,\n minimumFractionDigits: minimumFractionDigits,\n maximumFractionDigits: maximumFractionDigits,\n style: NumberFormatStyle[style].toLowerCase()\n };\n if (style == NumberFormatStyle.Currency) {\n options.currency = typeof currency == 'string' ? currency : undefined;\n options.currencyDisplay = currencyAsSymbol ? 'symbol' : 'code';\n }\n return new Intl.NumberFormat(locale, options).format(num);\n };\n return NumberFormatter;\n}());\nvar DATE_FORMATS_SPLIT$1 = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/;\nvar PATTERN_ALIASES = {\n // Keys are quoted so they do not get renamed during closure compilation.\n 'yMMMdjms': datePartGetterFactory(combine([\n digitCondition('year', 1),\n nameCondition('month', 3),\n digitCondition('day', 1),\n digitCondition('hour', 1),\n digitCondition('minute', 1),\n digitCondition('second', 1),\n ])),\n 'yMdjm': datePartGetterFactory(combine([\n digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1),\n digitCondition('hour', 1), digitCondition('minute', 1)\n ])),\n 'yMMMMEEEEd': datePartGetterFactory(combine([\n digitCondition('year', 1), nameCondition('month', 4), nameCondition('weekday', 4),\n digitCondition('day', 1)\n ])),\n 'yMMMMd': datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),\n 'yMMMd': datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),\n 'yMd': datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),\n 'jms': datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),\n 'jm': datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))\n};\nvar DATE_FORMATS$1 = {\n // Keys are quoted so they do not get renamed.\n 'yyyy': datePartGetterFactory(digitCondition('year', 4)),\n 'yy': datePartGetterFactory(digitCondition('year', 2)),\n 'y': datePartGetterFactory(digitCondition('year', 1)),\n 'MMMM': datePartGetterFactory(nameCondition('month', 4)),\n 'MMM': datePartGetterFactory(nameCondition('month', 3)),\n 'MM': datePartGetterFactory(digitCondition('month', 2)),\n 'M': datePartGetterFactory(digitCondition('month', 1)),\n 'LLLL': datePartGetterFactory(nameCondition('month', 4)),\n 'L': datePartGetterFactory(nameCondition('month', 1)),\n 'dd': datePartGetterFactory(digitCondition('day', 2)),\n 'd': datePartGetterFactory(digitCondition('day', 1)),\n 'HH': digitModifier(hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), false)))),\n 'H': hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), false))),\n 'hh': digitModifier(hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), true)))),\n 'h': hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),\n 'jj': datePartGetterFactory(digitCondition('hour', 2)),\n 'j': datePartGetterFactory(digitCondition('hour', 1)),\n 'mm': digitModifier(datePartGetterFactory(digitCondition('minute', 2))),\n 'm': datePartGetterFactory(digitCondition('minute', 1)),\n 'ss': digitModifier(datePartGetterFactory(digitCondition('second', 2))),\n 's': datePartGetterFactory(digitCondition('second', 1)),\n // while ISO 8601 requires fractions to be prefixed with `.` or `,`\n // we can be just safely rely on using `sss` since we currently don't support single or two digit\n // fractions\n 'sss': datePartGetterFactory(digitCondition('second', 3)),\n 'EEEE': datePartGetterFactory(nameCondition('weekday', 4)),\n 'EEE': datePartGetterFactory(nameCondition('weekday', 3)),\n 'EE': datePartGetterFactory(nameCondition('weekday', 2)),\n 'E': datePartGetterFactory(nameCondition('weekday', 1)),\n 'a': hourClockExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),\n 'Z': timeZoneGetter$1('short'),\n 'z': timeZoneGetter$1('long'),\n 'ww': datePartGetterFactory({}),\n // Week of year, padded (00-53). Week 01 is the week with the\n // first Thursday of the year. not support ?\n 'w': datePartGetterFactory({}),\n // Week of year (0-53). Week 1 is the week with the first Thursday\n // of the year not support ?\n 'G': datePartGetterFactory(nameCondition('era', 1)),\n 'GG': datePartGetterFactory(nameCondition('era', 2)),\n 'GGG': datePartGetterFactory(nameCondition('era', 3)),\n 'GGGG': datePartGetterFactory(nameCondition('era', 4))\n};\n/**\n * @param {?} inner\n * @return {?}\n */\nfunction digitModifier(inner) {\n return function (date, locale) {\n var /** @type {?} */ result = inner(date, locale);\n return result.length == 1 ? '0' + result : result;\n };\n}\n/**\n * @param {?} inner\n * @return {?}\n */\nfunction hourClockExtractor(inner) {\n return function (date, locale) { return inner(date, locale).split(' ')[1]; };\n}\n/**\n * @param {?} inner\n * @return {?}\n */\nfunction hourExtractor(inner) {\n return function (date, locale) { return inner(date, locale).split(' ')[0]; };\n}\n/**\n * @param {?} date\n * @param {?} locale\n * @param {?} options\n * @return {?}\n */\nfunction intlDateFormat(date, locale, options) {\n return new Intl.DateTimeFormat(locale, options).format(date).replace(/[\\u200e\\u200f]/g, '');\n}\n/**\n * @param {?} timezone\n * @return {?}\n */\nfunction timeZoneGetter$1(timezone) {\n // To workaround `Intl` API restriction for single timezone let format with 24 hours\n var /** @type {?} */ options = { hour: '2-digit', hour12: false, timeZoneName: timezone };\n return function (date, locale) {\n var /** @type {?} */ result = intlDateFormat(date, locale, options);\n // Then extract first 3 letters that related to hours\n return result ? result.substring(3) : '';\n };\n}\n/**\n * @param {?} options\n * @param {?} value\n * @return {?}\n */\nfunction hour12Modify(options, value) {\n options.hour12 = value;\n return options;\n}\n/**\n * @param {?} prop\n * @param {?} len\n * @return {?}\n */\nfunction digitCondition(prop, len) {\n var /** @type {?} */ result = {};\n result[prop] = len === 2 ? '2-digit' : 'numeric';\n return result;\n}\n/**\n * @param {?} prop\n * @param {?} len\n * @return {?}\n */\nfunction nameCondition(prop, len) {\n var /** @type {?} */ result = {};\n if (len < 4) {\n result[prop] = len > 1 ? 'short' : 'narrow';\n }\n else {\n result[prop] = 'long';\n }\n return result;\n}\n/**\n * @param {?} options\n * @return {?}\n */\nfunction combine(options) {\n return options.reduce(function (merged, opt) { return (__assign({}, merged, opt)); }, {});\n}\n/**\n * @param {?} ret\n * @return {?}\n */\nfunction datePartGetterFactory(ret) {\n return function (date, locale) { return intlDateFormat(date, locale, ret); };\n}\nvar DATE_FORMATTER_CACHE = new Map();\n/**\n * @param {?} format\n * @param {?} date\n * @param {?} locale\n * @return {?}\n */\nfunction dateFormatter(format, date, locale) {\n var /** @type {?} */ fn = PATTERN_ALIASES[format];\n if (fn)\n return fn(date, locale);\n var /** @type {?} */ cacheKey = format;\n var /** @type {?} */ parts = DATE_FORMATTER_CACHE.get(cacheKey);\n if (!parts) {\n parts = [];\n var /** @type {?} */ match = void 0;\n DATE_FORMATS_SPLIT$1.exec(format);\n var /** @type {?} */ _format = format;\n while (_format) {\n match = DATE_FORMATS_SPLIT$1.exec(_format);\n if (match) {\n parts = parts.concat(match.slice(1));\n _format = /** @type {?} */ ((parts.pop()));\n }\n else {\n parts.push(_format);\n _format = null;\n }\n }\n DATE_FORMATTER_CACHE.set(cacheKey, parts);\n }\n return parts.reduce(function (text, part) {\n var /** @type {?} */ fn = DATE_FORMATS$1[part];\n return text + (fn ? fn(date, locale) : partToTime(part));\n }, '');\n}\n/**\n * @param {?} part\n * @return {?}\n */\nfunction partToTime(part) {\n return part === '\\'\\'' ? '\\'' : part.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n}\nvar DateFormatter = /** @class */ (function () {\n function DateFormatter() {\n }\n /**\n * @param {?} date\n * @param {?} locale\n * @param {?} pattern\n * @return {?}\n */\n DateFormatter.format = /**\n * @param {?} date\n * @param {?} locale\n * @param {?} pattern\n * @return {?}\n */\n function (date, locale, pattern) {\n return dateFormatter(pattern, date, locale);\n };\n return DateFormatter;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a date according to locale rules.\n * \\@howToUse `date_expression | date[:format]`\n * \\@description\n *\n * Where:\n * - `expression` is a date object or a number (milliseconds since UTC epoch) or an ISO string\n * (https://www.w3.org/TR/NOTE-datetime).\n * - `format` indicates which date/time components to include. The format can be predefined as\n * shown below or custom as shown in the table.\n * - `'medium'`: equivalent to `'yMMMdjms'` (e.g. `Sep 3, 2010, 12:05:08 PM` for `en-US`)\n * - `'short'`: equivalent to `'yMdjm'` (e.g. `9/3/2010, 12:05 PM` for `en-US`)\n * - `'fullDate'`: equivalent to `'yMMMMEEEEd'` (e.g. `Friday, September 3, 2010` for `en-US`)\n * - `'longDate'`: equivalent to `'yMMMMd'` (e.g. `September 3, 2010` for `en-US`)\n * - `'mediumDate'`: equivalent to `'yMMMd'` (e.g. `Sep 3, 2010` for `en-US`)\n * - `'shortDate'`: equivalent to `'yMd'` (e.g. `9/3/2010` for `en-US`)\n * - `'mediumTime'`: equivalent to `'jms'` (e.g. `12:05:08 PM` for `en-US`)\n * - `'shortTime'`: equivalent to `'jm'` (e.g. `12:05 PM` for `en-US`)\n *\n *\n * | Component | Symbol | Narrow | Short Form | Long Form | Numeric | 2-digit |\n * |-----------|:------:|--------|--------------|-------------------|-----------|-----------|\n * | era | G | G (A) | GGG (AD) | GGGG (Anno Domini)| - | - |\n * | year | y | - | - | - | y (2015) | yy (15) |\n * | month | M | L (S) | MMM (Sep) | MMMM (September) | M (9) | MM (09) |\n * | day | d | - | - | - | d (3) | dd (03) |\n * | weekday | E | E (S) | EEE (Sun) | EEEE (Sunday) | - | - |\n * | hour | j | - | - | - | j (13) | jj (13) |\n * | hour12 | h | - | - | - | h (1 PM) | hh (01 PM)|\n * | hour24 | H | - | - | - | H (13) | HH (13) |\n * | minute | m | - | - | - | m (5) | mm (05) |\n * | second | s | - | - | - | s (9) | ss (09) |\n * | timezone | z | - | - | z (Pacific Standard Time)| - | - |\n * | timezone | Z | - | Z (GMT-8:00) | - | - | - |\n * | timezone | a | - | a (PM) | - | - | - |\n *\n * In javascript, only the components specified will be respected (not the ordering,\n * punctuations, ...) and details of the formatting will be dependent on the locale.\n *\n * Timezone of the formatted text will be the local system timezone of the end-user's machine.\n *\n * When the expression is a ISO string without time (e.g. 2016-09-19) the time zone offset is not\n * applied and the formatted text will have the same day, month and year of the expression.\n *\n * WARNINGS:\n * - this pipe is marked as pure hence it will not be re-evaluated when the input is mutated.\n * Instead users should treat the date as an immutable object and change the reference when the\n * pipe needs to re-run (this is to avoid reformatting the date on every change detection run\n * which would be an expensive operation).\n * - this pipe uses the Internationalization API. Therefore it is only reliable in Chrome and Opera\n * browsers.\n *\n * ### Examples\n *\n * Assuming `dateObj` is (year: 2010, month: 9, day: 3, hour: 12 PM, minute: 05, second: 08)\n * in the _local_ time and locale is 'en-US':\n *\n * {\\@example common/pipes/ts/date_pipe.ts region='DeprecatedDatePipe'}\n *\n * \\@stable\n */\nvar DeprecatedDatePipe = /** @class */ (function () {\n function DeprecatedDatePipe(_locale) {\n this._locale = _locale;\n }\n /**\n * @param {?} value\n * @param {?=} pattern\n * @return {?}\n */\n DeprecatedDatePipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} pattern\n * @return {?}\n */\n function (value, pattern) {\n if (pattern === void 0) { pattern = 'mediumDate'; }\n if (value == null || value === '' || value !== value)\n return null;\n var /** @type {?} */ date;\n if (typeof value === 'string') {\n value = value.trim();\n }\n if (isDate(value)) {\n date = value;\n }\n else if (!isNaN(value - parseFloat(value))) {\n date = new Date(parseFloat(value));\n }\n else if (typeof value === 'string' && /^(\\d{4}-\\d{1,2}-\\d{1,2})$/.test(value)) {\n /**\n * For ISO Strings without time the day, month and year must be extracted from the ISO String\n * before Date creation to avoid time offset and errors in the new Date.\n * If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n * date, some browsers (e.g. IE 9) will throw an invalid Date error\n * If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the\n * timeoffset\n * is applied\n * Note: ISO months are 0 for January, 1 for February, ...\n */\n var _a = value.split('-').map(function (val) { return parseInt(val, 10); }), y = _a[0], m = _a[1], d = _a[2];\n date = new Date(y, m - 1, d);\n }\n else {\n date = new Date(value);\n }\n if (!isDate(date)) {\n var /** @type {?} */ match = void 0;\n if ((typeof value === 'string') && (match = value.match(ISO8601_DATE_REGEX))) {\n date = isoStringToDate(match);\n }\n else {\n throw invalidPipeArgumentError(DeprecatedDatePipe, value);\n }\n }\n return DateFormatter.format(date, this._locale, DeprecatedDatePipe._ALIASES[pattern] || pattern);\n };\n /**\n * \\@internal\n */\n DeprecatedDatePipe._ALIASES = {\n 'medium': 'yMMMdjms',\n 'short': 'yMdjm',\n 'fullDate': 'yMMMMEEEEd',\n 'longDate': 'yMMMMd',\n 'mediumDate': 'yMMMd',\n 'shortDate': 'yMd',\n 'mediumTime': 'jms',\n 'shortTime': 'jm'\n };\n DeprecatedDatePipe.decorators = [\n { type: Pipe, args: [{ name: 'date', pure: true },] },\n ];\n /** @nocollapse */\n DeprecatedDatePipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return DeprecatedDatePipe;\n}());\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nvar MAX_DIGITS = 22;\nvar DECIMAL_SEP = '.';\nvar ZERO_CHAR = '0';\nvar PATTERN_SEP = ';';\nvar GROUP_SEP = ',';\nvar DIGIT_CHAR = '#';\nvar CURRENCY_CHAR = '¤';\nvar PERCENT_CHAR = '%';\n/**\n * Transform a number to a locale string based on a style and a format\n *\n * \\@internal\n * @param {?} value\n * @param {?} locale\n * @param {?} style\n * @param {?=} digitsInfo\n * @param {?=} currency\n * @return {?}\n */\nfunction formatNumber$1(value, locale, style, digitsInfo, currency) {\n if (currency === void 0) { currency = null; }\n var /** @type {?} */ res = { str: null };\n var /** @type {?} */ format = getLocaleNumberFormat(locale, style);\n var /** @type {?} */ num;\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(+value - parseFloat(value))) {\n num = +value;\n }\n else if (typeof value !== 'number') {\n res.error = value + \" is not a number\";\n return res;\n }\n else {\n num = value;\n }\n var /** @type {?} */ pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n var /** @type {?} */ formattedText = '';\n var /** @type {?} */ isZero = false;\n if (!isFinite(num)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n var /** @type {?} */ parsedNumber = parseNumber(num);\n if (style === NumberFormatStyle.Percent) {\n parsedNumber = toPercent(parsedNumber);\n }\n var /** @type {?} */ minInt = pattern.minInt;\n var /** @type {?} */ minFraction = pattern.minFrac;\n var /** @type {?} */ maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n var /** @type {?} */ parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n res.error = digitsInfo + \" is not a valid digit info\";\n return res;\n }\n var /** @type {?} */ minIntPart = parts[1];\n var /** @type {?} */ minFractionPart = parts[3];\n var /** @type {?} */ maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n var /** @type {?} */ digits = parsedNumber.digits;\n var /** @type {?} */ integerLen = parsedNumber.integerLen;\n var /** @type {?} */ exponent = parsedNumber.exponent;\n var /** @type {?} */ decimals = [];\n isZero = digits.every(function (d) { return !d; });\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n var /** @type {?} */ groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n var /** @type {?} */ groupSymbol = currency ? NumberSymbol.CurrencyGroup : NumberSymbol.Group;\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n var /** @type {?} */ decimalSymbol = currency ? NumberSymbol.CurrencyDecimal : NumberSymbol.Decimal;\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (num < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n if (style === NumberFormatStyle.Currency && currency !== null) {\n res.str = formattedText\n .replace(CURRENCY_CHAR, currency)\n .replace(CURRENCY_CHAR, '');\n return res;\n }\n if (style === NumberFormatStyle.Percent) {\n res.str = formattedText.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n return res;\n }\n res.str = formattedText;\n return res;\n}\n/**\n * @param {?} format\n * @param {?=} minusSign\n * @return {?}\n */\nfunction parseNumberFormat(format, minusSign) {\n if (minusSign === void 0) { minusSign = '-'; }\n var /** @type {?} */ p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n var /** @type {?} */ patternParts = format.split(PATTERN_SEP);\n var /** @type {?} */ positive = patternParts[0];\n var /** @type {?} */ negative = patternParts[1];\n var /** @type {?} */ positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], /** @type {?} */\n integer = positiveParts[0], /** @type {?} */ fraction = positiveParts[1] || '';\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n for (var /** @type {?} */ i = 0; i < fraction.length; i++) {\n var /** @type {?} */ ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n var /** @type {?} */ groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n var /** @type {?} */ trunkLen = positive.length - p.posPre.length - p.posSuf.length, /** @type {?} */\n pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n/**\n * @param {?} parsedNumber\n * @return {?}\n */\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n var /** @type {?} */ fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n * @param {?} num\n * @return {?}\n */\nfunction parseNumber(num) {\n var /** @type {?} */ numStr = Math.abs(num) + '';\n var /** @type {?} */ exponent = 0, /** @type {?} */ digits, /** @type {?} */ integerLen;\n var /** @type {?} */ i, /** @type {?} */ j, /** @type {?} */ zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) {\n /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = +numStr.charAt(i);\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits: digits, exponent: exponent, integerLen: integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n * @param {?} parsedNumber\n * @param {?} minFrac\n * @param {?} maxFrac\n * @return {?}\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(\"The minimum number of digits after fraction (\" + minFrac + \") is higher than the maximum (\" + maxFrac + \").\");\n }\n var /** @type {?} */ digits = parsedNumber.digits;\n var /** @type {?} */ fractionLen = digits.length - parsedNumber.integerLen;\n var /** @type {?} */ fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n var /** @type {?} */ roundAt = fractionSize + parsedNumber.integerLen;\n var /** @type {?} */ digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (var /** @type {?} */ j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (var /** @type {?} */ i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (var /** @type {?} */ k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n var /** @type {?} */ dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n var /** @type {?} */ minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n var /** @type {?} */ carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\n/**\n * \\@internal\n * @param {?} text\n * @return {?}\n */\nfunction parseIntAutoRadix(text) {\n var /** @type {?} */ result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} pipe\n * @param {?} locale\n * @param {?} value\n * @param {?} style\n * @param {?=} digits\n * @param {?=} currency\n * @param {?=} currencyAsSymbol\n * @return {?}\n */\nfunction formatNumber(pipe, locale, value, style, digits, currency, currencyAsSymbol) {\n if (currency === void 0) { currency = null; }\n if (currencyAsSymbol === void 0) { currencyAsSymbol = false; }\n if (value == null)\n return null;\n // Convert strings to numbers\n value = typeof value === 'string' && !isNaN(+value - parseFloat(value)) ? +value : value;\n if (typeof value !== 'number') {\n throw invalidPipeArgumentError(pipe, value);\n }\n var /** @type {?} */ minInt;\n var /** @type {?} */ minFraction;\n var /** @type {?} */ maxFraction;\n if (style !== NumberFormatStyle.Currency) {\n // rely on Intl default for currency\n minInt = 1;\n minFraction = 0;\n maxFraction = 3;\n }\n if (digits) {\n var /** @type {?} */ parts = digits.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(digits + \" is not a valid digit info for number pipes\");\n }\n if (parts[1] != null) {\n // min integer digits\n minInt = parseIntAutoRadix(parts[1]);\n }\n if (parts[3] != null) {\n // min fraction digits\n minFraction = parseIntAutoRadix(parts[3]);\n }\n if (parts[5] != null) {\n // max fraction digits\n maxFraction = parseIntAutoRadix(parts[5]);\n }\n }\n return NumberFormatter.format(/** @type {?} */ (value), locale, style, {\n minimumIntegerDigits: minInt,\n minimumFractionDigits: minFraction,\n maximumFractionDigits: maxFraction,\n currency: currency,\n currencyAsSymbol: currencyAsSymbol,\n });\n}\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number according to locale rules.\n * \\@howToUse `number_expression | number[:digitInfo]`\n *\n * Formats a number as text. Group sizing and separator and other locale-specific\n * configurations are based on the active locale.\n *\n * where `expression` is a number:\n * - `digitInfo` is a `string` which has a following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * - `minIntegerDigits` is the minimum number of integer digits to use. Defaults to `1`.\n * - `minFractionDigits` is the minimum number of digits after fraction. Defaults to `0`.\n * - `maxFractionDigits` is the maximum number of digits after fraction. Defaults to `3`.\n *\n * For more information on the acceptable range for each of these numbers and other\n * details see your native internationalization library.\n *\n * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers\n * and may require a polyfill. See [Browser Support](guide/browser-support) for details.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/number_pipe.ts region='DeprecatedNumberPipe'}\n *\n * \\@stable\n */\nvar DeprecatedDecimalPipe = /** @class */ (function () {\n function DeprecatedDecimalPipe(_locale) {\n this._locale = _locale;\n }\n /**\n * @param {?} value\n * @param {?=} digits\n * @return {?}\n */\n DeprecatedDecimalPipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} digits\n * @return {?}\n */\n function (value, digits) {\n return formatNumber(DeprecatedDecimalPipe, this._locale, value, NumberFormatStyle.Decimal, digits);\n };\n DeprecatedDecimalPipe.decorators = [\n { type: Pipe, args: [{ name: 'number' },] },\n ];\n /** @nocollapse */\n DeprecatedDecimalPipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return DeprecatedDecimalPipe;\n}());\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number as a percentage according to locale rules.\n * \\@howToUse `number_expression | percent[:digitInfo]`\n *\n * \\@description\n *\n * Formats a number as percentage.\n *\n * - `digitInfo` See {\\@link DecimalPipe} for detailed description.\n *\n * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers\n * and may require a polyfill. See [Browser Support](guide/browser-support) for details.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/percent_pipe.ts region='DeprecatedPercentPipe'}\n *\n * \\@stable\n */\nvar DeprecatedPercentPipe = /** @class */ (function () {\n function DeprecatedPercentPipe(_locale) {\n this._locale = _locale;\n }\n /**\n * @param {?} value\n * @param {?=} digits\n * @return {?}\n */\n DeprecatedPercentPipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} digits\n * @return {?}\n */\n function (value, digits) {\n return formatNumber(DeprecatedPercentPipe, this._locale, value, NumberFormatStyle.Percent, digits);\n };\n DeprecatedPercentPipe.decorators = [\n { type: Pipe, args: [{ name: 'percent' },] },\n ];\n /** @nocollapse */\n DeprecatedPercentPipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return DeprecatedPercentPipe;\n}());\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number as currency using locale rules.\n * \\@howToUse `number_expression | currency[:currencyCode[:symbolDisplay[:digitInfo]]]`\n * \\@description\n *\n * Use `currency` to format a number as currency.\n *\n * - `currencyCode` is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, such\n * as `USD` for the US dollar and `EUR` for the euro.\n * - `symbolDisplay` is a boolean indicating whether to use the currency symbol or code.\n * - `true`: use symbol (e.g. `$`).\n * - `false`(default): use code (e.g. `USD`).\n * - `digitInfo` See {\\@link DecimalPipe} for detailed description.\n *\n * WARNING: this pipe uses the Internationalization API which is not yet available in all browsers\n * and may require a polyfill. See [Browser Support](guide/browser-support) for details.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/currency_pipe.ts region='DeprecatedCurrencyPipe'}\n *\n * \\@stable\n */\nvar DeprecatedCurrencyPipe = /** @class */ (function () {\n function DeprecatedCurrencyPipe(_locale) {\n this._locale = _locale;\n }\n /**\n * @param {?} value\n * @param {?=} currencyCode\n * @param {?=} symbolDisplay\n * @param {?=} digits\n * @return {?}\n */\n DeprecatedCurrencyPipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} currencyCode\n * @param {?=} symbolDisplay\n * @param {?=} digits\n * @return {?}\n */\n function (value, currencyCode, symbolDisplay, digits) {\n if (currencyCode === void 0) { currencyCode = 'USD'; }\n if (symbolDisplay === void 0) { symbolDisplay = false; }\n return formatNumber(DeprecatedCurrencyPipe, this._locale, value, NumberFormatStyle.Currency, digits, currencyCode, symbolDisplay);\n };\n DeprecatedCurrencyPipe.decorators = [\n { type: Pipe, args: [{ name: 'currency' },] },\n ];\n /** @nocollapse */\n DeprecatedCurrencyPipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return DeprecatedCurrencyPipe;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of deprecated i18n pipes that require intl api\n *\n * @deprecated from v5\n */\nvar COMMON_DEPRECATED_I18N_PIPES = [DeprecatedDecimalPipe, DeprecatedPercentPipe, DeprecatedCurrencyPipe, DeprecatedDatePipe];\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ObservableStrategy = /** @class */ (function () {\n function ObservableStrategy() {\n }\n /**\n * @param {?} async\n * @param {?} updateLatestValue\n * @return {?}\n */\n ObservableStrategy.prototype.createSubscription = /**\n * @param {?} async\n * @param {?} updateLatestValue\n * @return {?}\n */\n function (async, updateLatestValue) {\n return async.subscribe({ next: updateLatestValue, error: function (e) { throw e; } });\n };\n /**\n * @param {?} subscription\n * @return {?}\n */\n ObservableStrategy.prototype.dispose = /**\n * @param {?} subscription\n * @return {?}\n */\n function (subscription) { subscription.unsubscribe(); };\n /**\n * @param {?} subscription\n * @return {?}\n */\n ObservableStrategy.prototype.onDestroy = /**\n * @param {?} subscription\n * @return {?}\n */\n function (subscription) { subscription.unsubscribe(); };\n return ObservableStrategy;\n}());\nvar PromiseStrategy = /** @class */ (function () {\n function PromiseStrategy() {\n }\n /**\n * @param {?} async\n * @param {?} updateLatestValue\n * @return {?}\n */\n PromiseStrategy.prototype.createSubscription = /**\n * @param {?} async\n * @param {?} updateLatestValue\n * @return {?}\n */\n function (async, updateLatestValue) {\n return async.then(updateLatestValue, function (e) { throw e; });\n };\n /**\n * @param {?} subscription\n * @return {?}\n */\n PromiseStrategy.prototype.dispose = /**\n * @param {?} subscription\n * @return {?}\n */\n function (subscription) { };\n /**\n * @param {?} subscription\n * @return {?}\n */\n PromiseStrategy.prototype.onDestroy = /**\n * @param {?} subscription\n * @return {?}\n */\n function (subscription) { };\n return PromiseStrategy;\n}());\nvar _promiseStrategy = new PromiseStrategy();\nvar _observableStrategy = new ObservableStrategy();\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Unwraps a value from an asynchronous primitive.\n * \\@howToUse `observable_or_promise_expression | async`\n * \\@description\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks.\n *\n *\n * ## Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {\\@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {\\@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * \\@stable\n */\nvar AsyncPipe = /** @class */ (function () {\n function AsyncPipe(_ref) {\n this._ref = _ref;\n this._latestValue = null;\n this._latestReturnedValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = /** @type {?} */ ((null));\n }\n /**\n * @return {?}\n */\n AsyncPipe.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () {\n if (this._subscription) {\n this._dispose();\n }\n };\n /**\n * @param {?} obj\n * @return {?}\n */\n AsyncPipe.prototype.transform = /**\n * @param {?} obj\n * @return {?}\n */\n function (obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n this._latestReturnedValue = this._latestValue;\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(/** @type {?} */ (obj));\n }\n if (this._latestValue === this._latestReturnedValue) {\n return this._latestReturnedValue;\n }\n this._latestReturnedValue = this._latestValue;\n return WrappedValue.wrap(this._latestValue);\n };\n /**\n * @param {?} obj\n * @return {?}\n */\n AsyncPipe.prototype._subscribe = /**\n * @param {?} obj\n * @return {?}\n */\n function (obj) {\n var _this = this;\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, function (value) { return _this._updateLatestValue(obj, value); });\n };\n /**\n * @param {?} obj\n * @return {?}\n */\n AsyncPipe.prototype._selectStrategy = /**\n * @param {?} obj\n * @return {?}\n */\n function (obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisObservable(obj)) {\n return _observableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n };\n /**\n * @return {?}\n */\n AsyncPipe.prototype._dispose = /**\n * @return {?}\n */\n function () {\n this._strategy.dispose(/** @type {?} */ ((this._subscription)));\n this._latestValue = null;\n this._latestReturnedValue = null;\n this._subscription = null;\n this._obj = null;\n };\n /**\n * @param {?} async\n * @param {?} value\n * @return {?}\n */\n AsyncPipe.prototype._updateLatestValue = /**\n * @param {?} async\n * @param {?} value\n * @return {?}\n */\n function (async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\n }\n };\n AsyncPipe.decorators = [\n { type: Pipe, args: [{ name: 'async', pure: false },] },\n ];\n /** @nocollapse */\n AsyncPipe.ctorParameters = function () { return [\n { type: ChangeDetectorRef, },\n ]; };\n return AsyncPipe;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to lowercase.\n *\n * {\\@example common/pipes/ts/lowerupper_pipe.ts region='LowerUpperPipe' }\n *\n * \\@stable\n */\nvar LowerCasePipe = /** @class */ (function () {\n function LowerCasePipe() {\n }\n /**\n * @param {?} value\n * @return {?}\n */\n LowerCasePipe.prototype.transform = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n if (!value)\n return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n };\n LowerCasePipe.decorators = [\n { type: Pipe, args: [{ name: 'lowercase' },] },\n ];\n /** @nocollapse */\n LowerCasePipe.ctorParameters = function () { return []; };\n return LowerCasePipe;\n}());\n/**\n * Helper method to transform a single word to titlecase.\n *\n * \\@stable\n * @param {?} word\n * @return {?}\n */\nfunction titleCaseWord(word) {\n if (!word)\n return word;\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\n}\n/**\n * Transforms text to titlecase.\n *\n * \\@stable\n */\nvar TitleCasePipe = /** @class */ (function () {\n function TitleCasePipe() {\n }\n /**\n * @param {?} value\n * @return {?}\n */\n TitleCasePipe.prototype.transform = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n if (!value)\n return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.split(/\\b/g).map(function (word) { return titleCaseWord(word); }).join('');\n };\n TitleCasePipe.decorators = [\n { type: Pipe, args: [{ name: 'titlecase' },] },\n ];\n /** @nocollapse */\n TitleCasePipe.ctorParameters = function () { return []; };\n return TitleCasePipe;\n}());\n/**\n * Transforms text to uppercase.\n *\n * \\@stable\n */\nvar UpperCasePipe = /** @class */ (function () {\n function UpperCasePipe() {\n }\n /**\n * @param {?} value\n * @return {?}\n */\n UpperCasePipe.prototype.transform = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n if (!value)\n return value;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n };\n UpperCasePipe.decorators = [\n { type: Pipe, args: [{ name: 'uppercase' },] },\n ];\n /** @nocollapse */\n UpperCasePipe.ctorParameters = function () { return []; };\n return UpperCasePipe;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar _INTERPOLATION_REGEXP = /#/g;\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Maps a value to a string that pluralizes the value according to locale rules.\n * \\@howToUse `expression | i18nPlural:mapping[:locale]`\n * \\@description\n *\n * Where:\n * - `expression` is a number.\n * - `mapping` is an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages\n * - `locale` is a `string` defining the locale to use (uses the current {\\@link LOCALE_ID} by\n * default)\n *\n * ## Example\n *\n * {\\@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * \\@experimental\n */\nvar I18nPluralPipe = /** @class */ (function () {\n function I18nPluralPipe(_localization) {\n this._localization = _localization;\n }\n /**\n * @param {?} value\n * @param {?} pluralMap\n * @param {?=} locale\n * @return {?}\n */\n I18nPluralPipe.prototype.transform = /**\n * @param {?} value\n * @param {?} pluralMap\n * @param {?=} locale\n * @return {?}\n */\n function (value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n var /** @type {?} */ key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n };\n I18nPluralPipe.decorators = [\n { type: Pipe, args: [{ name: 'i18nPlural', pure: true },] },\n ];\n /** @nocollapse */\n I18nPluralPipe.ctorParameters = function () { return [\n { type: NgLocalization, },\n ]; };\n return I18nPluralPipe;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Generic selector that displays the string that matches the current value.\n * \\@howToUse `expression | i18nSelect:mapping`\n * \\@description\n *\n * Where `mapping` is an object that indicates the text that should be displayed\n * for different values of the provided `expression`.\n * If none of the keys of the mapping match the value of the `expression`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * ## Example\n *\n * {\\@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * \\@experimental\n */\nvar I18nSelectPipe = /** @class */ (function () {\n function I18nSelectPipe() {\n }\n /**\n * @param {?} value\n * @param {?} mapping\n * @return {?}\n */\n I18nSelectPipe.prototype.transform = /**\n * @param {?} value\n * @param {?} mapping\n * @return {?}\n */\n function (value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n };\n I18nSelectPipe.decorators = [\n { type: Pipe, args: [{ name: 'i18nSelect', pure: true },] },\n ];\n /** @nocollapse */\n I18nSelectPipe.ctorParameters = function () { return []; };\n return I18nSelectPipe;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Converts value into JSON string.\n * \\@howToUse `expression | json`\n * \\@description\n *\n * Converts value into string using `JSON.stringify`. Useful for debugging.\n *\n * ### Example\n * {\\@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * \\@stable\n */\nvar JsonPipe = /** @class */ (function () {\n function JsonPipe() {\n }\n /**\n * @param {?} value\n * @return {?}\n */\n JsonPipe.prototype.transform = /**\n * @param {?} value\n * @return {?}\n */\n function (value) { return JSON.stringify(value, null, 2); };\n JsonPipe.decorators = [\n { type: Pipe, args: [{ name: 'json', pure: false },] },\n ];\n /** @nocollapse */\n JsonPipe.ctorParameters = function () { return []; };\n return JsonPipe;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number according to locale rules.\n * \\@howToUse `number_expression | number[:digitInfo[:locale]]`\n *\n * Formats a number as text. Group sizing and separator and other locale-specific\n * configurations are based on the active locale.\n *\n * where `expression` is a number:\n * - `digitInfo` is a `string` which has a following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * - `minIntegerDigits` is the minimum number of integer digits to use. Defaults to `1`.\n * - `minFractionDigits` is the minimum number of digits after fraction. Defaults to `0`.\n * - `maxFractionDigits` is the maximum number of digits after fraction. Defaults to `3`.\n * - `locale` is a `string` defining the locale to use (uses the current {\\@link LOCALE_ID} by\n * default)\n *\n * For more information on the acceptable range for each of these numbers and other\n * details see your native internationalization library.\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/number_pipe.ts region='NumberPipe'}\n *\n * \\@stable\n */\nvar DecimalPipe = /** @class */ (function () {\n function DecimalPipe(_locale) {\n this._locale = _locale;\n }\n /**\n * @param {?} value\n * @param {?=} digits\n * @param {?=} locale\n * @return {?}\n */\n DecimalPipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} digits\n * @param {?=} locale\n * @return {?}\n */\n function (value, digits, locale) {\n if (isEmpty(value))\n return null;\n locale = locale || this._locale;\n var _a = formatNumber$1(value, locale, NumberFormatStyle.Decimal, digits), str = _a.str, error = _a.error;\n if (error) {\n throw invalidPipeArgumentError(DecimalPipe, error);\n }\n return str;\n };\n DecimalPipe.decorators = [\n { type: Pipe, args: [{ name: 'number' },] },\n ];\n /** @nocollapse */\n DecimalPipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return DecimalPipe;\n}());\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number as a percentage according to locale rules.\n * \\@howToUse `number_expression | percent[:digitInfo[:locale]]`\n *\n * \\@description\n *\n * Formats a number as percentage.\n *\n * - `digitInfo` See {\\@link DecimalPipe} for detailed description.\n * - `locale` is a `string` defining the locale to use (uses the current {\\@link LOCALE_ID} by\n * default)\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/percent_pipe.ts region='PercentPipe'}\n *\n * \\@stable\n */\nvar PercentPipe = /** @class */ (function () {\n function PercentPipe(_locale) {\n this._locale = _locale;\n }\n /**\n * @param {?} value\n * @param {?=} digits\n * @param {?=} locale\n * @return {?}\n */\n PercentPipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} digits\n * @param {?=} locale\n * @return {?}\n */\n function (value, digits, locale) {\n if (isEmpty(value))\n return null;\n locale = locale || this._locale;\n var _a = formatNumber$1(value, locale, NumberFormatStyle.Percent, digits), str = _a.str, error = _a.error;\n if (error) {\n throw invalidPipeArgumentError(PercentPipe, error);\n }\n return str;\n };\n PercentPipe.decorators = [\n { type: Pipe, args: [{ name: 'percent' },] },\n ];\n /** @nocollapse */\n PercentPipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return PercentPipe;\n}());\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Formats a number as currency using locale rules.\n * \\@howToUse `number_expression | currency[:currencyCode[:display[:digitInfo[:locale]]]]`\n * \\@description\n *\n * Use `currency` to format a number as currency.\n *\n * - `currencyCode` is the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, such\n * as `USD` for the US dollar and `EUR` for the euro.\n * - `display` indicates whether to show the currency symbol or the code.\n * - `code`: use code (e.g. `USD`).\n * - `symbol`(default): use symbol (e.g. `$`).\n * - `symbol-narrow`: some countries have two symbols for their currency, one regular and one\n * narrow (e.g. the canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`).\n * - boolean (deprecated from v5): `true` for symbol and false for `code`\n * If there is no narrow symbol for the chosen currency, the regular symbol will be used.\n * - `digitInfo` See {\\@link DecimalPipe} for detailed description.\n * - `locale` is a `string` defining the locale to use (uses the current {\\@link LOCALE_ID} by\n * default)\n *\n * ### Example\n *\n * {\\@example common/pipes/ts/currency_pipe.ts region='CurrencyPipe'}\n *\n * \\@stable\n */\nvar CurrencyPipe = /** @class */ (function () {\n function CurrencyPipe(_locale) {\n this._locale = _locale;\n }\n /**\n * @param {?} value\n * @param {?=} currencyCode\n * @param {?=} display\n * @param {?=} digits\n * @param {?=} locale\n * @return {?}\n */\n CurrencyPipe.prototype.transform = /**\n * @param {?} value\n * @param {?=} currencyCode\n * @param {?=} display\n * @param {?=} digits\n * @param {?=} locale\n * @return {?}\n */\n function (value, currencyCode, display, digits, locale) {\n if (display === void 0) { display = 'symbol'; }\n if (isEmpty(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if (/** @type {?} */ (console) && /** @type {?} */ (console.warn)) {\n console.warn(\"Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \\\"code\\\", \\\"symbol\\\" or \\\"symbol-narrow\\\".\");\n }\n display = display ? 'symbol' : 'code';\n }\n var /** @type {?} */ currency = currencyCode || 'USD';\n if (display !== 'code') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow');\n }\n var _a = formatNumber$1(value, locale, NumberFormatStyle.Currency, digits, currency), str = _a.str, error = _a.error;\n if (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error);\n }\n return str;\n };\n CurrencyPipe.decorators = [\n { type: Pipe, args: [{ name: 'currency' },] },\n ];\n /** @nocollapse */\n CurrencyPipe.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID,] },] },\n ]; };\n return CurrencyPipe;\n}());\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isEmpty(value) {\n return value == null || value === '' || value !== value;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@ngModule CommonModule\n * \\@whatItDoes Creates a new List or String containing a subset (slice) of the elements.\n * \\@howToUse `array_or_string_expression | slice:start[:end]`\n * \\@description\n *\n * Where the input expression is a `List` or `String`, and:\n * - `start`: The starting index of the subset to return.\n * - **a positive integer**: return the item at `start` index and all items after\n * in the list or string expression.\n * - **a negative integer**: return the item at `start` index from the end and all items after\n * in the list or string expression.\n * - **if positive and greater than the size of the expression**: return an empty list or string.\n * - **if negative and greater than the size of the expression**: return entire list or string.\n * - `end`: The ending index of the subset to return.\n * - **omitted**: return all items until the end.\n * - **if positive**: return all items before `end` index of the list or string.\n * - **if negative**: return all items before `end` index from the end of the list or string.\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on a [List], the returned list is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ## List Example\n *\n * This `ngFor` example:\n *\n * {\\@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n *
  • b
  • \n *
  • c
  • \n *\n * ## String Examples\n *\n * {\\@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * \\@stable\n */\nvar SlicePipe = /** @class */ (function () {\n function SlicePipe() {\n }\n /**\n * @param {?} value\n * @param {?} start\n * @param {?=} end\n * @return {?}\n */\n SlicePipe.prototype.transform = /**\n * @param {?} value\n * @param {?} start\n * @param {?=} end\n * @return {?}\n */\n function (value, start, end) {\n if (value == null)\n return value;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n };\n /**\n * @param {?} obj\n * @return {?}\n */\n SlicePipe.prototype.supports = /**\n * @param {?} obj\n * @return {?}\n */\n function (obj) { return typeof obj === 'string' || Array.isArray(obj); };\n SlicePipe.decorators = [\n { type: Pipe, args: [{ name: 'slice', pure: false },] },\n ];\n /** @nocollapse */\n SlicePipe.ctorParameters = function () { return []; };\n return SlicePipe;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nvar COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n];\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The module that includes all the basic Angular directives like {\\@link NgIf}, {\\@link NgForOf}, ...\n *\n * \\@stable\n */\nvar CommonModule = /** @class */ (function () {\n function CommonModule() {\n }\n CommonModule.decorators = [\n { type: NgModule, args: [{\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n providers: [\n { provide: NgLocalization, useClass: NgLocaleLocalization },\n ],\n },] },\n ];\n /** @nocollapse */\n CommonModule.ctorParameters = function () { return []; };\n return CommonModule;\n}());\nvar ɵ0 = getPluralCase;\n/**\n * A module that contains the deprecated i18n pipes.\n *\n * @deprecated from v5\n */\nvar DeprecatedI18NPipesModule = /** @class */ (function () {\n function DeprecatedI18NPipesModule() {\n }\n DeprecatedI18NPipesModule.decorators = [\n { type: NgModule, args: [{\n declarations: [COMMON_DEPRECATED_I18N_PIPES],\n exports: [COMMON_DEPRECATED_I18N_PIPES],\n providers: [{ provide: DEPRECATED_PLURAL_FN, useValue: ɵ0 }],\n },] },\n ];\n /** @nocollapse */\n DeprecatedI18NPipesModule.ctorParameters = function () { return []; };\n return DeprecatedI18NPipesModule;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application into a Web Worker).\n *\n * \\@stable\n */\nvar DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar PLATFORM_BROWSER_ID = 'browser';\nvar PLATFORM_SERVER_ID = 'server';\nvar PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nvar PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * \\@experimental\n * @param {?} platformId\n * @return {?}\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * \\@experimental\n * @param {?} platformId\n * @return {?}\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * \\@experimental\n * @param {?} platformId\n * @return {?}\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * \\@experimental\n * @param {?} platformId\n * @return {?}\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@stable\n */\nvar VERSION = new Version('5.2.0');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { registerLocaleData as ɵregisterLocaleData, NgLocaleLocalization, NgLocalization, registerLocaleData, Plural, NumberFormatStyle, FormStyle, TranslationWidth, FormatWidth, NumberSymbol, WeekDay, getCurrencySymbol, getLocaleDayPeriods, getLocaleDayNames, getLocaleMonthNames, getLocaleId, getLocaleEraNames, getLocaleWeekEndRange, getLocaleFirstDayOfWeek, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocalePluralCase, getLocaleTimeFormat, getLocaleNumberSymbol, getLocaleNumberFormat, getLocaleCurrencyName, getLocaleCurrencySymbol, parseCookieValue as ɵparseCookieValue, CommonModule, DeprecatedI18NPipesModule, NgClass, NgForOf, NgForOfContext, NgIf, NgIfContext, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NgComponentOutlet, DOCUMENT, AsyncPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, JsonPipe, LowerCasePipe, CurrencyPipe, DecimalPipe, PercentPipe, SlicePipe, UpperCasePipe, TitleCasePipe, DeprecatedDatePipe, DeprecatedCurrencyPipe, DeprecatedDecimalPipe, DeprecatedPercentPipe, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, VERSION, PlatformLocation, LOCATION_INITIALIZED, LocationStrategy, APP_BASE_HREF, HashLocationStrategy, PathLocationStrategy, Location, COMMON_DIRECTIVES as ɵe, findLocaleData as ɵd, DEPRECATED_PLURAL_FN as ɵa, getPluralCase as ɵb, COMMON_DEPRECATED_I18N_PIPES as ɵg, COMMON_PIPES as ɵf };\n//# sourceMappingURL=common.js.map\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/share';\r\nimport { Subject } from 'rxjs/Subject';\r\nvar ToasterService = (function () {\r\n /**\r\n * Creates an instance of ToasterService.\r\n */\r\n function ToasterService() {\r\n var _this = this;\r\n this.addToast = new Observable(function (observer) { return _this._addToast = observer; }).share();\r\n this.clearToasts = new Observable(function (observer) { return _this._clearToasts = observer; }).share();\r\n this._removeToastSubject = new Subject();\r\n this.removeToast = this._removeToastSubject.share();\r\n }\r\n /**\r\n * Synchronously create and show a new toast instance.\r\n *\r\n * @param {(string | Toast)} type The type of the toast, or a Toast object.\r\n * @param {string=} title The toast title.\r\n * @param {string=} body The toast body.\r\n * @returns {Toast}\r\n * The newly created Toast instance with a randomly generated GUID Id.\r\n */\r\n ToasterService.prototype.pop = function (type, title, body) {\r\n var toast = typeof type === 'string' ? { type: type, title: title, body: body } : type;\r\n toast.toastId = Guid.newGuid();\r\n if (!this._addToast) {\r\n throw new Error('No Toaster Containers have been initialized to receive toasts.');\r\n }\r\n this._addToast.next(toast);\r\n return toast;\r\n };\r\n /**\r\n * Asynchronously create and show a new toast instance.\r\n *\r\n * @param {(string | Toast)} type The type of the toast, or a Toast object.\r\n * @param {string=} title The toast title.\r\n * @param {string=} body The toast body.\r\n * @returns {Observable}\r\n * A hot Observable that can be subscribed to in order to receive the Toast instance\r\n * with a randomly generated GUID Id.\r\n */\r\n ToasterService.prototype.popAsync = function (type, title, body) {\r\n var _this = this;\r\n setTimeout(function () {\r\n _this.pop(type, title, body);\r\n }, 0);\r\n return this.addToast;\r\n };\r\n /**\r\n * Clears a toast by toastId and/or toastContainerId.\r\n *\r\n * @param {string} toastId The toastId to clear.\r\n * @param {number=} toastContainerId\r\n * The toastContainerId of the container to remove toasts from.\r\n */\r\n ToasterService.prototype.clear = function (toastId, toastContainerId) {\r\n var clearWrapper = {\r\n toastId: toastId, toastContainerId: toastContainerId\r\n };\r\n this._clearToasts.next(clearWrapper);\r\n };\r\n return ToasterService;\r\n}());\r\nexport { ToasterService };\r\nToasterService.decorators = [\r\n { type: Injectable },\r\n];\r\n/** @nocollapse */\r\nToasterService.ctorParameters = function () { return []; };\r\n// http://stackoverflow.com/questions/26501688/a-typescript-guid-class\r\nvar Guid = (function () {\r\n function Guid() {\r\n }\r\n Guid.newGuid = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n };\r\n return Guid;\r\n}());\r\n//# sourceMappingURL=toaster.service.js.map","/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\nimport { APP_BASE_HREF, HashLocationStrategy, LOCATION_INITIALIZED, Location, LocationStrategy, PathLocationStrategy, PlatformLocation } from '@angular/common';\nimport { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationRef, Attribute, ChangeDetectorRef, Compiler, ComponentFactoryResolver, ContentChildren, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Injectable, InjectionToken, Injector, Input, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, Optional, Output, Renderer2, SkipSelf, SystemJsNgModuleLoader, Version, ViewContainerRef, isDevMode, ɵisObservable, ɵisPromise } from '@angular/core';\nimport { __assign, __extends } from 'tslib';\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { Subject } from 'rxjs/Subject';\nimport { of } from 'rxjs/observable/of';\nimport { concatMap } from 'rxjs/operator/concatMap';\nimport { map } from 'rxjs/operator/map';\nimport { mergeMap } from 'rxjs/operator/mergeMap';\nimport { Observable } from 'rxjs/Observable';\nimport { from } from 'rxjs/observable/from';\nimport { _catch } from 'rxjs/operator/catch';\nimport { concatAll } from 'rxjs/operator/concatAll';\nimport { first } from 'rxjs/operator/first';\nimport { EmptyError } from 'rxjs/util/EmptyError';\nimport { fromPromise } from 'rxjs/observable/fromPromise';\nimport { every } from 'rxjs/operator/every';\nimport { last } from 'rxjs/operator/last';\nimport { mergeAll } from 'rxjs/operator/mergeAll';\nimport { reduce } from 'rxjs/operator/reduce';\nimport { ɵgetDOM } from '@angular/platform-browser';\nimport { filter } from 'rxjs/operator/filter';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Base for events the Router goes through, as opposed to events tied to a specific\n * Route. `RouterEvent`s will only be fired one time for any given navigation.\n *\n * Example:\n *\n * ```\n * class MyService {\n * constructor(public router: Router, logger: Logger) {\n * router.events.filter(e => e instanceof RouterEvent).subscribe(e => {\n * logger.log(e.id, e.url);\n * });\n * }\n * }\n * ```\n *\n * \\@experimental\n */\nvar RouterEvent = /** @class */ (function () {\n function RouterEvent(id, url) {\n this.id = id;\n this.url = url;\n }\n return RouterEvent;\n}());\n/**\n * \\@whatItDoes Represents an event triggered when a navigation starts.\n *\n * \\@stable\n */\nvar NavigationStart = /** @class */ (function (_super) {\n __extends(NavigationStart, _super);\n function NavigationStart() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n NavigationStart.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () { return \"NavigationStart(id: \" + this.id + \", url: '\" + this.url + \"')\"; };\n return NavigationStart;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents an event triggered when a navigation ends successfully.\n *\n * \\@stable\n */\nvar NavigationEnd = /** @class */ (function (_super) {\n __extends(NavigationEnd, _super);\n function NavigationEnd(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, urlAfterRedirects) {\n var _this = _super.call(this, id, url) || this;\n _this.urlAfterRedirects = urlAfterRedirects;\n return _this;\n }\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n NavigationEnd.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () {\n return \"NavigationEnd(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"')\";\n };\n return NavigationEnd;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents an event triggered when a navigation is canceled.\n *\n * \\@stable\n */\nvar NavigationCancel = /** @class */ (function (_super) {\n __extends(NavigationCancel, _super);\n function NavigationCancel(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, reason) {\n var _this = _super.call(this, id, url) || this;\n _this.reason = reason;\n return _this;\n }\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n NavigationCancel.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () { return \"NavigationCancel(id: \" + this.id + \", url: '\" + this.url + \"')\"; };\n return NavigationCancel;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents an event triggered when a navigation fails due to an unexpected error.\n *\n * \\@stable\n */\nvar NavigationError = /** @class */ (function (_super) {\n __extends(NavigationError, _super);\n function NavigationError(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, error) {\n var _this = _super.call(this, id, url) || this;\n _this.error = error;\n return _this;\n }\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n NavigationError.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () {\n return \"NavigationError(id: \" + this.id + \", url: '\" + this.url + \"', error: \" + this.error + \")\";\n };\n return NavigationError;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents an event triggered when routes are recognized.\n *\n * \\@stable\n */\nvar RoutesRecognized = /** @class */ (function (_super) {\n __extends(RoutesRecognized, _super);\n function RoutesRecognized(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, urlAfterRedirects, state) {\n var _this = _super.call(this, id, url) || this;\n _this.urlAfterRedirects = urlAfterRedirects;\n _this.state = state;\n return _this;\n }\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n RoutesRecognized.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () {\n return \"RoutesRecognized(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"', state: \" + this.state + \")\";\n };\n return RoutesRecognized;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents the start of the Guard phase of routing.\n *\n * \\@experimental\n */\nvar GuardsCheckStart = /** @class */ (function (_super) {\n __extends(GuardsCheckStart, _super);\n function GuardsCheckStart(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, urlAfterRedirects, state) {\n var _this = _super.call(this, id, url) || this;\n _this.urlAfterRedirects = urlAfterRedirects;\n _this.state = state;\n return _this;\n }\n /**\n * @return {?}\n */\n GuardsCheckStart.prototype.toString = /**\n * @return {?}\n */\n function () {\n return \"GuardsCheckStart(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"', state: \" + this.state + \")\";\n };\n return GuardsCheckStart;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents the end of the Guard phase of routing.\n *\n * \\@experimental\n */\nvar GuardsCheckEnd = /** @class */ (function (_super) {\n __extends(GuardsCheckEnd, _super);\n function GuardsCheckEnd(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, urlAfterRedirects, state, shouldActivate) {\n var _this = _super.call(this, id, url) || this;\n _this.urlAfterRedirects = urlAfterRedirects;\n _this.state = state;\n _this.shouldActivate = shouldActivate;\n return _this;\n }\n /**\n * @return {?}\n */\n GuardsCheckEnd.prototype.toString = /**\n * @return {?}\n */\n function () {\n return \"GuardsCheckEnd(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"', state: \" + this.state + \", shouldActivate: \" + this.shouldActivate + \")\";\n };\n return GuardsCheckEnd;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents the start of the Resolve phase of routing. The timing of this\n * event may change, thus it's experimental. In the current iteration it will run\n * in the \"resolve\" phase whether there's things to resolve or not. In the future this\n * behavior may change to only run when there are things to be resolved.\n *\n * \\@experimental\n */\nvar ResolveStart = /** @class */ (function (_super) {\n __extends(ResolveStart, _super);\n function ResolveStart(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, urlAfterRedirects, state) {\n var _this = _super.call(this, id, url) || this;\n _this.urlAfterRedirects = urlAfterRedirects;\n _this.state = state;\n return _this;\n }\n /**\n * @return {?}\n */\n ResolveStart.prototype.toString = /**\n * @return {?}\n */\n function () {\n return \"ResolveStart(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"', state: \" + this.state + \")\";\n };\n return ResolveStart;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents the end of the Resolve phase of routing. See note on\n * {\\@link ResolveStart} for use of this experimental API.\n *\n * \\@experimental\n */\nvar ResolveEnd = /** @class */ (function (_super) {\n __extends(ResolveEnd, _super);\n function ResolveEnd(/** @docsNotRequired */\n /** @docsNotRequired */\n id, /** @docsNotRequired */\n /** @docsNotRequired */\n url, urlAfterRedirects, state) {\n var _this = _super.call(this, id, url) || this;\n _this.urlAfterRedirects = urlAfterRedirects;\n _this.state = state;\n return _this;\n }\n /**\n * @return {?}\n */\n ResolveEnd.prototype.toString = /**\n * @return {?}\n */\n function () {\n return \"ResolveEnd(id: \" + this.id + \", url: '\" + this.url + \"', urlAfterRedirects: '\" + this.urlAfterRedirects + \"', state: \" + this.state + \")\";\n };\n return ResolveEnd;\n}(RouterEvent));\n/**\n * \\@whatItDoes Represents an event triggered before lazy loading a route config.\n *\n * \\@experimental\n */\nvar RouteConfigLoadStart = /** @class */ (function () {\n function RouteConfigLoadStart(route) {\n this.route = route;\n }\n /**\n * @return {?}\n */\n RouteConfigLoadStart.prototype.toString = /**\n * @return {?}\n */\n function () { return \"RouteConfigLoadStart(path: \" + this.route.path + \")\"; };\n return RouteConfigLoadStart;\n}());\n/**\n * \\@whatItDoes Represents an event triggered when a route has been lazy loaded.\n *\n * \\@experimental\n */\nvar RouteConfigLoadEnd = /** @class */ (function () {\n function RouteConfigLoadEnd(route) {\n this.route = route;\n }\n /**\n * @return {?}\n */\n RouteConfigLoadEnd.prototype.toString = /**\n * @return {?}\n */\n function () { return \"RouteConfigLoadEnd(path: \" + this.route.path + \")\"; };\n return RouteConfigLoadEnd;\n}());\n/**\n * \\@whatItDoes Represents the start of end of the Resolve phase of routing. See note on\n * {\\@link ChildActivationEnd} for use of this experimental API.\n *\n * \\@experimental\n */\nvar ChildActivationStart = /** @class */ (function () {\n function ChildActivationStart(snapshot) {\n this.snapshot = snapshot;\n }\n /**\n * @return {?}\n */\n ChildActivationStart.prototype.toString = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return \"ChildActivationStart(path: '\" + path + \"')\";\n };\n return ChildActivationStart;\n}());\n/**\n * \\@whatItDoes Represents the start of end of the Resolve phase of routing. See note on\n * {\\@link ChildActivationStart} for use of this experimental API.\n *\n * \\@experimental\n */\nvar ChildActivationEnd = /** @class */ (function () {\n function ChildActivationEnd(snapshot) {\n this.snapshot = snapshot;\n }\n /**\n * @return {?}\n */\n ChildActivationEnd.prototype.toString = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return \"ChildActivationEnd(path: '\" + path + \"')\";\n };\n return ChildActivationEnd;\n}());\n/**\n * \\@whatItDoes Represents the start of end of the Resolve phase of routing. See note on\n * {\\@link ActivationEnd} for use of this experimental API.\n *\n * \\@experimental\n */\nvar ActivationStart = /** @class */ (function () {\n function ActivationStart(snapshot) {\n this.snapshot = snapshot;\n }\n /**\n * @return {?}\n */\n ActivationStart.prototype.toString = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return \"ActivationStart(path: '\" + path + \"')\";\n };\n return ActivationStart;\n}());\n/**\n * \\@whatItDoes Represents the start of end of the Resolve phase of routing. See note on\n * {\\@link ActivationStart} for use of this experimental API.\n *\n * \\@experimental\n */\nvar ActivationEnd = /** @class */ (function () {\n function ActivationEnd(snapshot) {\n this.snapshot = snapshot;\n }\n /**\n * @return {?}\n */\n ActivationEnd.prototype.toString = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ path = this.snapshot.routeConfig && this.snapshot.routeConfig.path || '';\n return \"ActivationEnd(path: '\" + path + \"')\";\n };\n return ActivationEnd;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Name of the primary outlet.\n *\n * \\@stable\n */\nvar PRIMARY_OUTLET = 'primary';\n/**\n * Matrix and Query parameters.\n *\n * `ParamMap` makes it easier to work with parameters as they could have either a single value or\n * multiple value. Because this should be known by the user, calling `get` or `getAll` returns the\n * correct type (either `string` or `string[]`).\n *\n * The API is inspired by the URLSearchParams interface.\n * see https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n *\n * \\@stable\n * @record\n */\n\nvar ParamsAsMap = /** @class */ (function () {\n function ParamsAsMap(params) {\n this.params = params || {};\n }\n /**\n * @param {?} name\n * @return {?}\n */\n ParamsAsMap.prototype.has = /**\n * @param {?} name\n * @return {?}\n */\n function (name) { return this.params.hasOwnProperty(name); };\n /**\n * @param {?} name\n * @return {?}\n */\n ParamsAsMap.prototype.get = /**\n * @param {?} name\n * @return {?}\n */\n function (name) {\n if (this.has(name)) {\n var /** @type {?} */ v = this.params[name];\n return Array.isArray(v) ? v[0] : v;\n }\n return null;\n };\n /**\n * @param {?} name\n * @return {?}\n */\n ParamsAsMap.prototype.getAll = /**\n * @param {?} name\n * @return {?}\n */\n function (name) {\n if (this.has(name)) {\n var /** @type {?} */ v = this.params[name];\n return Array.isArray(v) ? v : [v];\n }\n return [];\n };\n Object.defineProperty(ParamsAsMap.prototype, \"keys\", {\n get: /**\n * @return {?}\n */\n function () { return Object.keys(this.params); },\n enumerable: true,\n configurable: true\n });\n return ParamsAsMap;\n}());\n/**\n * Convert a {\\@link Params} instance to a {\\@link ParamMap}.\n *\n * \\@stable\n * @param {?} params\n * @return {?}\n */\nfunction convertToParamMap(params) {\n return new ParamsAsMap(params);\n}\nvar NAVIGATION_CANCELING_ERROR = 'ngNavigationCancelingError';\n/**\n * @param {?} message\n * @return {?}\n */\nfunction navigationCancelingError(message) {\n var /** @type {?} */ error = Error('NavigationCancelingError: ' + message);\n (/** @type {?} */ (error))[NAVIGATION_CANCELING_ERROR] = true;\n return error;\n}\n/**\n * @param {?} error\n * @return {?}\n */\nfunction isNavigationCancelingError(error) {\n return error && (/** @type {?} */ (error))[NAVIGATION_CANCELING_ERROR];\n}\n/**\n * @param {?} segments\n * @param {?} segmentGroup\n * @param {?} route\n * @return {?}\n */\nfunction defaultUrlMatcher(segments, segmentGroup, route) {\n var /** @type {?} */ parts = /** @type {?} */ ((route.path)).split('/');\n if (parts.length > segments.length) {\n // The actual URL is shorter than the config, no match\n return null;\n }\n if (route.pathMatch === 'full' &&\n (segmentGroup.hasChildren() || parts.length < segments.length)) {\n // The config is longer than the actual URL but we are looking for a full match, return null\n return null;\n }\n var /** @type {?} */ posParams = {};\n // Check each config part against the actual URL\n for (var /** @type {?} */ index = 0; index < parts.length; index++) {\n var /** @type {?} */ part = parts[index];\n var /** @type {?} */ segment = segments[index];\n var /** @type {?} */ isParameter = part.startsWith(':');\n if (isParameter) {\n posParams[part.substring(1)] = segment;\n }\n else if (part !== segment.path) {\n // The actual URL part does not match the config, no match\n return null;\n }\n }\n return { consumed: segments.slice(0, parts.length), posParams: posParams };\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * See {\\@link Routes} for more details.\n * \\@stable\n * @record\n */\n\nvar LoadedRouterConfig = /** @class */ (function () {\n function LoadedRouterConfig(routes, module) {\n this.routes = routes;\n this.module = module;\n }\n return LoadedRouterConfig;\n}());\n/**\n * @param {?} config\n * @param {?=} parentPath\n * @return {?}\n */\nfunction validateConfig(config, parentPath) {\n if (parentPath === void 0) { parentPath = ''; }\n // forEach doesn't iterate undefined values\n for (var /** @type {?} */ i = 0; i < config.length; i++) {\n var /** @type {?} */ route = config[i];\n var /** @type {?} */ fullPath = getFullPath(parentPath, route);\n validateNode(route, fullPath);\n }\n}\n/**\n * @param {?} route\n * @param {?} fullPath\n * @return {?}\n */\nfunction validateNode(route, fullPath) {\n if (!route) {\n throw new Error(\"\\n Invalid configuration of route '\" + fullPath + \"': Encountered undefined route.\\n The reason might be an extra comma.\\n\\n Example:\\n const routes: Routes = [\\n { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\\n { path: 'dashboard', component: DashboardComponent },, << two commas\\n { path: 'detail/:id', component: HeroDetailComponent }\\n ];\\n \");\n }\n if (Array.isArray(route)) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': Array cannot be specified\");\n }\n if (!route.component && (route.outlet && route.outlet !== PRIMARY_OUTLET)) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': a componentless route cannot have a named outlet set\");\n }\n if (route.redirectTo && route.children) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': redirectTo and children cannot be used together\");\n }\n if (route.redirectTo && route.loadChildren) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': redirectTo and loadChildren cannot be used together\");\n }\n if (route.children && route.loadChildren) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': children and loadChildren cannot be used together\");\n }\n if (route.redirectTo && route.component) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': redirectTo and component cannot be used together\");\n }\n if (route.path && route.matcher) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': path and matcher cannot be used together\");\n }\n if (route.redirectTo === void 0 && !route.component && !route.children && !route.loadChildren) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"'. One of the following must be provided: component, redirectTo, children or loadChildren\");\n }\n if (route.path === void 0 && route.matcher === void 0) {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': routes must have either a path or a matcher specified\");\n }\n if (typeof route.path === 'string' && route.path.charAt(0) === '/') {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': path cannot start with a slash\");\n }\n if (route.path === '' && route.redirectTo !== void 0 && route.pathMatch === void 0) {\n var /** @type {?} */ exp = \"The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.\";\n throw new Error(\"Invalid configuration of route '{path: \\\"\" + fullPath + \"\\\", redirectTo: \\\"\" + route.redirectTo + \"\\\"}': please provide 'pathMatch'. \" + exp);\n }\n if (route.pathMatch !== void 0 && route.pathMatch !== 'full' && route.pathMatch !== 'prefix') {\n throw new Error(\"Invalid configuration of route '\" + fullPath + \"': pathMatch can only be set to 'prefix' or 'full'\");\n }\n if (route.children) {\n validateConfig(route.children, fullPath);\n }\n}\n/**\n * @param {?} parentPath\n * @param {?} currentRoute\n * @return {?}\n */\nfunction getFullPath(parentPath, currentRoute) {\n if (!currentRoute) {\n return parentPath;\n }\n if (!parentPath && !currentRoute.path) {\n return '';\n }\n else if (parentPath && !currentRoute.path) {\n return parentPath + \"/\";\n }\n else if (!parentPath && currentRoute.path) {\n return currentRoute.path;\n }\n else {\n return parentPath + \"/\" + currentRoute.path;\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction shallowEqualArrays(a, b) {\n if (a.length !== b.length)\n return false;\n for (var /** @type {?} */ i = 0; i < a.length; ++i) {\n if (!shallowEqual(a[i], b[i]))\n return false;\n }\n return true;\n}\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction shallowEqual(a, b) {\n var /** @type {?} */ k1 = Object.keys(a);\n var /** @type {?} */ k2 = Object.keys(b);\n if (k1.length != k2.length) {\n return false;\n }\n var /** @type {?} */ key;\n for (var /** @type {?} */ i = 0; i < k1.length; i++) {\n key = k1[i];\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\n/**\n * Flattens single-level nested arrays.\n * @template T\n * @param {?} arr\n * @return {?}\n */\nfunction flatten(arr) {\n return Array.prototype.concat.apply([], arr);\n}\n/**\n * Return the last element of an array.\n * @template T\n * @param {?} a\n * @return {?}\n */\nfunction last$1(a) {\n return a.length > 0 ? a[a.length - 1] : null;\n}\n/**\n * Verifys all booleans in an array are `true`.\n * @param {?} bools\n * @return {?}\n */\n\n/**\n * @template K, V\n * @param {?} map\n * @param {?} callback\n * @return {?}\n */\nfunction forEach(map$$1, callback) {\n for (var /** @type {?} */ prop in map$$1) {\n if (map$$1.hasOwnProperty(prop)) {\n callback(map$$1[prop], prop);\n }\n }\n}\n/**\n * @template A, B\n * @param {?} obj\n * @param {?} fn\n * @return {?}\n */\nfunction waitForMap(obj, fn) {\n if (Object.keys(obj).length === 0) {\n return of({});\n }\n var /** @type {?} */ waitHead = [];\n var /** @type {?} */ waitTail = [];\n var /** @type {?} */ res = {};\n forEach(obj, function (a, k) {\n var /** @type {?} */ mapped = map.call(fn(k, a), function (r) { return res[k] = r; });\n if (k === PRIMARY_OUTLET) {\n waitHead.push(mapped);\n }\n else {\n waitTail.push(mapped);\n }\n });\n var /** @type {?} */ concat$ = concatAll.call(of.apply(void 0, waitHead.concat(waitTail)));\n var /** @type {?} */ last$ = last.call(concat$);\n return map.call(last$, function () { return res; });\n}\n/**\n * ANDs Observables by merging all input observables, reducing to an Observable verifying all\n * input Observables return `true`.\n * @param {?} observables\n * @return {?}\n */\nfunction andObservables(observables) {\n var /** @type {?} */ merged$ = mergeAll.call(observables);\n return every.call(merged$, function (result) { return result === true; });\n}\n/**\n * @template T\n * @param {?} value\n * @return {?}\n */\nfunction wrapIntoObservable(value) {\n if (ɵisObservable(value)) {\n return value;\n }\n if (ɵisPromise(value)) {\n // Use `Promise.resolve()` to wrap promise-like instances.\n // Required ie when a Resolver returns a AngularJS `$q` promise to correctly trigger the\n // change detection.\n return fromPromise(Promise.resolve(value));\n }\n return of(/** @type {?} */ (value));\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @return {?}\n */\nfunction createEmptyUrlTree() {\n return new UrlTree(new UrlSegmentGroup([], {}), {}, null);\n}\n/**\n * @param {?} container\n * @param {?} containee\n * @param {?} exact\n * @return {?}\n */\nfunction containsTree(container, containee, exact) {\n if (exact) {\n return equalQueryParams(container.queryParams, containee.queryParams) &&\n equalSegmentGroups(container.root, containee.root);\n }\n return containsQueryParams(container.queryParams, containee.queryParams) &&\n containsSegmentGroup(container.root, containee.root);\n}\n/**\n * @param {?} container\n * @param {?} containee\n * @return {?}\n */\nfunction equalQueryParams(container, containee) {\n return shallowEqual(container, containee);\n}\n/**\n * @param {?} container\n * @param {?} containee\n * @return {?}\n */\nfunction equalSegmentGroups(container, containee) {\n if (!equalPath(container.segments, containee.segments))\n return false;\n if (container.numberOfChildren !== containee.numberOfChildren)\n return false;\n for (var /** @type {?} */ c in containee.children) {\n if (!container.children[c])\n return false;\n if (!equalSegmentGroups(container.children[c], containee.children[c]))\n return false;\n }\n return true;\n}\n/**\n * @param {?} container\n * @param {?} containee\n * @return {?}\n */\nfunction containsQueryParams(container, containee) {\n return Object.keys(containee).length <= Object.keys(container).length &&\n Object.keys(containee).every(function (key) { return containee[key] === container[key]; });\n}\n/**\n * @param {?} container\n * @param {?} containee\n * @return {?}\n */\nfunction containsSegmentGroup(container, containee) {\n return containsSegmentGroupHelper(container, containee, containee.segments);\n}\n/**\n * @param {?} container\n * @param {?} containee\n * @param {?} containeePaths\n * @return {?}\n */\nfunction containsSegmentGroupHelper(container, containee, containeePaths) {\n if (container.segments.length > containeePaths.length) {\n var /** @type {?} */ current = container.segments.slice(0, containeePaths.length);\n if (!equalPath(current, containeePaths))\n return false;\n if (containee.hasChildren())\n return false;\n return true;\n }\n else if (container.segments.length === containeePaths.length) {\n if (!equalPath(container.segments, containeePaths))\n return false;\n for (var /** @type {?} */ c in containee.children) {\n if (!container.children[c])\n return false;\n if (!containsSegmentGroup(container.children[c], containee.children[c]))\n return false;\n }\n return true;\n }\n else {\n var /** @type {?} */ current = containeePaths.slice(0, container.segments.length);\n var /** @type {?} */ next = containeePaths.slice(container.segments.length);\n if (!equalPath(container.segments, current))\n return false;\n if (!container.children[PRIMARY_OUTLET])\n return false;\n return containsSegmentGroupHelper(container.children[PRIMARY_OUTLET], containee, next);\n }\n}\n/**\n * \\@whatItDoes Represents the parsed URL.\n *\n * \\@howToUse\n *\n * ```\n * \\@Component({templateUrl:'template.html'})\n * class MyComponent {\n * constructor(router: Router) {\n * const tree: UrlTree =\n * router.parseUrl('/team/33/(user/victor//support:help)?debug=true#fragment');\n * const f = tree.fragment; // return 'fragment'\n * const q = tree.queryParams; // returns {debug: 'true'}\n * const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];\n * const s: UrlSegment[] = g.segments; // returns 2 segments 'team' and '33'\n * g.children[PRIMARY_OUTLET].segments; // returns 2 segments 'user' and 'victor'\n * g.children['support'].segments; // return 1 segment 'help'\n * }\n * }\n * ```\n *\n * \\@description\n *\n * Since a router state is a tree, and the URL is nothing but a serialized state, the URL is a\n * serialized tree.\n * UrlTree is a data structure that provides a lot of affordances in dealing with URLs\n *\n * \\@stable\n */\nvar UrlTree = /** @class */ (function () {\n /** @internal */\n function UrlTree(root, queryParams, fragment) {\n this.root = root;\n this.queryParams = queryParams;\n this.fragment = fragment;\n }\n Object.defineProperty(UrlTree.prototype, \"queryParamMap\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this._queryParamMap) {\n this._queryParamMap = convertToParamMap(this.queryParams);\n }\n return this._queryParamMap;\n },\n enumerable: true,\n configurable: true\n });\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n UrlTree.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () { return DEFAULT_SERIALIZER.serialize(this); };\n return UrlTree;\n}());\n/**\n * \\@whatItDoes Represents the parsed URL segment group.\n *\n * See {\\@link UrlTree} for more information.\n *\n * \\@stable\n */\nvar UrlSegmentGroup = /** @class */ (function () {\n function UrlSegmentGroup(segments, children) {\n var _this = this;\n this.segments = segments;\n this.children = children;\n /**\n * The parent node in the url tree\n */\n this.parent = null;\n forEach(children, function (v, k) { return v.parent = _this; });\n }\n /** Whether the segment has child segments */\n /**\n * Whether the segment has child segments\n * @return {?}\n */\n UrlSegmentGroup.prototype.hasChildren = /**\n * Whether the segment has child segments\n * @return {?}\n */\n function () { return this.numberOfChildren > 0; };\n Object.defineProperty(UrlSegmentGroup.prototype, \"numberOfChildren\", {\n /** Number of child segments */\n get: /**\n * Number of child segments\n * @return {?}\n */\n function () { return Object.keys(this.children).length; },\n enumerable: true,\n configurable: true\n });\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n UrlSegmentGroup.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () { return serializePaths(this); };\n return UrlSegmentGroup;\n}());\n/**\n * \\@whatItDoes Represents a single URL segment.\n *\n * \\@howToUse\n *\n * ```\n * \\@Component({templateUrl:'template.html'})\n * class MyComponent {\n * constructor(router: Router) {\n * const tree: UrlTree = router.parseUrl('/team;id=33');\n * const g: UrlSegmentGroup = tree.root.children[PRIMARY_OUTLET];\n * const s: UrlSegment[] = g.segments;\n * s[0].path; // returns 'team'\n * s[0].parameters; // returns {id: 33}\n * }\n * }\n * ```\n *\n * \\@description\n *\n * A UrlSegment is a part of a URL between the two slashes. It contains a path and the matrix\n * parameters associated with the segment.\n *\n * \\@stable\n */\nvar UrlSegment = /** @class */ (function () {\n function UrlSegment(path, parameters) {\n this.path = path;\n this.parameters = parameters;\n }\n Object.defineProperty(UrlSegment.prototype, \"parameterMap\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this._parameterMap) {\n this._parameterMap = convertToParamMap(this.parameters);\n }\n return this._parameterMap;\n },\n enumerable: true,\n configurable: true\n });\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n UrlSegment.prototype.toString = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () { return serializePath(this); };\n return UrlSegment;\n}());\n/**\n * @param {?} as\n * @param {?} bs\n * @return {?}\n */\nfunction equalSegments(as, bs) {\n return equalPath(as, bs) && as.every(function (a, i) { return shallowEqual(a.parameters, bs[i].parameters); });\n}\n/**\n * @param {?} as\n * @param {?} bs\n * @return {?}\n */\nfunction equalPath(as, bs) {\n if (as.length !== bs.length)\n return false;\n return as.every(function (a, i) { return a.path === bs[i].path; });\n}\n/**\n * @template T\n * @param {?} segment\n * @param {?} fn\n * @return {?}\n */\nfunction mapChildrenIntoArray(segment, fn) {\n var /** @type {?} */ res = [];\n forEach(segment.children, function (child, childOutlet) {\n if (childOutlet === PRIMARY_OUTLET) {\n res = res.concat(fn(child, childOutlet));\n }\n });\n forEach(segment.children, function (child, childOutlet) {\n if (childOutlet !== PRIMARY_OUTLET) {\n res = res.concat(fn(child, childOutlet));\n }\n });\n return res;\n}\n/**\n * \\@whatItDoes Serializes and deserializes a URL string into a URL tree.\n *\n * \\@description The url serialization strategy is customizable. You can\n * make all URLs case insensitive by providing a custom UrlSerializer.\n *\n * See {\\@link DefaultUrlSerializer} for an example of a URL serializer.\n *\n * \\@stable\n * @abstract\n */\nvar UrlSerializer = /** @class */ (function () {\n function UrlSerializer() {\n }\n return UrlSerializer;\n}());\n/**\n * \\@whatItDoes A default implementation of the {\\@link UrlSerializer}.\n *\n * \\@description\n *\n * Example URLs:\n *\n * ```\n * /inbox/33(popup:compose)\n * /inbox/33;open=true/messages/44\n * ```\n *\n * DefaultUrlSerializer uses parentheses to serialize secondary segments (e.g., popup:compose), the\n * colon syntax to specify the outlet, and the ';parameter=value' syntax (e.g., open=true) to\n * specify route specific parameters.\n *\n * \\@stable\n */\nvar DefaultUrlSerializer = /** @class */ (function () {\n function DefaultUrlSerializer() {\n }\n /** Parses a url into a {@link UrlTree} */\n /**\n * Parses a url into a {\\@link UrlTree}\n * @param {?} url\n * @return {?}\n */\n DefaultUrlSerializer.prototype.parse = /**\n * Parses a url into a {\\@link UrlTree}\n * @param {?} url\n * @return {?}\n */\n function (url) {\n var /** @type {?} */ p = new UrlParser(url);\n return new UrlTree(p.parseRootSegment(), p.parseQueryParams(), p.parseFragment());\n };\n /** Converts a {@link UrlTree} into a url */\n /**\n * Converts a {\\@link UrlTree} into a url\n * @param {?} tree\n * @return {?}\n */\n DefaultUrlSerializer.prototype.serialize = /**\n * Converts a {\\@link UrlTree} into a url\n * @param {?} tree\n * @return {?}\n */\n function (tree) {\n var /** @type {?} */ segment = \"/\" + serializeSegment(tree.root, true);\n var /** @type {?} */ query = serializeQueryParams(tree.queryParams);\n var /** @type {?} */ fragment = typeof tree.fragment === \"string\" ? \"#\" + encodeURI((/** @type {?} */ ((tree.fragment)))) : '';\n return \"\" + segment + query + fragment;\n };\n return DefaultUrlSerializer;\n}());\nvar DEFAULT_SERIALIZER = new DefaultUrlSerializer();\n/**\n * @param {?} segment\n * @return {?}\n */\nfunction serializePaths(segment) {\n return segment.segments.map(function (p) { return serializePath(p); }).join('/');\n}\n/**\n * @param {?} segment\n * @param {?} root\n * @return {?}\n */\nfunction serializeSegment(segment, root) {\n if (!segment.hasChildren()) {\n return serializePaths(segment);\n }\n if (root) {\n var /** @type {?} */ primary = segment.children[PRIMARY_OUTLET] ?\n serializeSegment(segment.children[PRIMARY_OUTLET], false) :\n '';\n var /** @type {?} */ children_1 = [];\n forEach(segment.children, function (v, k) {\n if (k !== PRIMARY_OUTLET) {\n children_1.push(k + \":\" + serializeSegment(v, false));\n }\n });\n return children_1.length > 0 ? primary + \"(\" + children_1.join('//') + \")\" : primary;\n }\n else {\n var /** @type {?} */ children = mapChildrenIntoArray(segment, function (v, k) {\n if (k === PRIMARY_OUTLET) {\n return [serializeSegment(segment.children[PRIMARY_OUTLET], false)];\n }\n return [k + \":\" + serializeSegment(v, false)];\n });\n return serializePaths(segment) + \"/(\" + children.join('//') + \")\";\n }\n}\n/**\n * This method is intended for encoding *key* or *value* parts of query component. We need a custom\n * method because encodeURIComponent is too aggressive and encodes stuff that doesn't have to be\n * encoded per http://tools.ietf.org/html/rfc3986:\n * query = *( pchar / \"/\" / \"?\" )\n * pchar = unreserved / pct-encoded / sub-delims / \":\" / \"\\@\"\n * unreserved = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\n * pct-encoded = \"%\" HEXDIG HEXDIG\n * sub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\"\n * / \"*\" / \"+\" / \",\" / \";\" / \"=\"\n * @param {?} s\n * @return {?}\n */\nfunction encode(s) {\n return encodeURIComponent(s)\n .replace(/%40/g, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/g, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';');\n}\n/**\n * @param {?} s\n * @return {?}\n */\nfunction decode(s) {\n return decodeURIComponent(s);\n}\n/**\n * @param {?} path\n * @return {?}\n */\nfunction serializePath(path) {\n return \"\" + encode(path.path) + serializeParams(path.parameters);\n}\n/**\n * @param {?} params\n * @return {?}\n */\nfunction serializeParams(params) {\n return Object.keys(params).map(function (key) { return \";\" + encode(key) + \"=\" + encode(params[key]); }).join('');\n}\n/**\n * @param {?} params\n * @return {?}\n */\nfunction serializeQueryParams(params) {\n var /** @type {?} */ strParams = Object.keys(params).map(function (name) {\n var /** @type {?} */ value = params[name];\n return Array.isArray(value) ? value.map(function (v) { return encode(name) + \"=\" + encode(v); }).join('&') :\n encode(name) + \"=\" + encode(value);\n });\n return strParams.length ? \"?\" + strParams.join(\"&\") : '';\n}\nvar SEGMENT_RE = /^[^\\/()?;=&#]+/;\n/**\n * @param {?} str\n * @return {?}\n */\nfunction matchSegments(str) {\n var /** @type {?} */ match = str.match(SEGMENT_RE);\n return match ? match[0] : '';\n}\nvar QUERY_PARAM_RE = /^[^=?&#]+/;\n/**\n * @param {?} str\n * @return {?}\n */\nfunction matchQueryParams(str) {\n var /** @type {?} */ match = str.match(QUERY_PARAM_RE);\n return match ? match[0] : '';\n}\nvar QUERY_PARAM_VALUE_RE = /^[^?&#]+/;\n/**\n * @param {?} str\n * @return {?}\n */\nfunction matchUrlQueryParamValue(str) {\n var /** @type {?} */ match = str.match(QUERY_PARAM_VALUE_RE);\n return match ? match[0] : '';\n}\nvar UrlParser = /** @class */ (function () {\n function UrlParser(url) {\n this.url = url;\n this.remaining = url;\n }\n /**\n * @return {?}\n */\n UrlParser.prototype.parseRootSegment = /**\n * @return {?}\n */\n function () {\n this.consumeOptional('/');\n if (this.remaining === '' || this.peekStartsWith('?') || this.peekStartsWith('#')) {\n return new UrlSegmentGroup([], {});\n }\n // The root segment group never has segments\n return new UrlSegmentGroup([], this.parseChildren());\n };\n /**\n * @return {?}\n */\n UrlParser.prototype.parseQueryParams = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ params = {};\n if (this.consumeOptional('?')) {\n do {\n this.parseQueryParam(params);\n } while (this.consumeOptional('&'));\n }\n return params;\n };\n /**\n * @return {?}\n */\n UrlParser.prototype.parseFragment = /**\n * @return {?}\n */\n function () {\n return this.consumeOptional('#') ? decodeURI(this.remaining) : null;\n };\n /**\n * @return {?}\n */\n UrlParser.prototype.parseChildren = /**\n * @return {?}\n */\n function () {\n if (this.remaining === '') {\n return {};\n }\n this.consumeOptional('/');\n var /** @type {?} */ segments = [];\n if (!this.peekStartsWith('(')) {\n segments.push(this.parseSegment());\n }\n while (this.peekStartsWith('/') && !this.peekStartsWith('//') && !this.peekStartsWith('/(')) {\n this.capture('/');\n segments.push(this.parseSegment());\n }\n var /** @type {?} */ children = {};\n if (this.peekStartsWith('/(')) {\n this.capture('/');\n children = this.parseParens(true);\n }\n var /** @type {?} */ res = {};\n if (this.peekStartsWith('(')) {\n res = this.parseParens(false);\n }\n if (segments.length > 0 || Object.keys(children).length > 0) {\n res[PRIMARY_OUTLET] = new UrlSegmentGroup(segments, children);\n }\n return res;\n };\n /**\n * @return {?}\n */\n UrlParser.prototype.parseSegment = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ path = matchSegments(this.remaining);\n if (path === '' && this.peekStartsWith(';')) {\n throw new Error(\"Empty path url segment cannot have parameters: '\" + this.remaining + \"'.\");\n }\n this.capture(path);\n return new UrlSegment(decode(path), this.parseMatrixParams());\n };\n /**\n * @return {?}\n */\n UrlParser.prototype.parseMatrixParams = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ params = {};\n while (this.consumeOptional(';')) {\n this.parseParam(params);\n }\n return params;\n };\n /**\n * @param {?} params\n * @return {?}\n */\n UrlParser.prototype.parseParam = /**\n * @param {?} params\n * @return {?}\n */\n function (params) {\n var /** @type {?} */ key = matchSegments(this.remaining);\n if (!key) {\n return;\n }\n this.capture(key);\n var /** @type {?} */ value = '';\n if (this.consumeOptional('=')) {\n var /** @type {?} */ valueMatch = matchSegments(this.remaining);\n if (valueMatch) {\n value = valueMatch;\n this.capture(value);\n }\n }\n params[decode(key)] = decode(value);\n };\n /**\n * @param {?} params\n * @return {?}\n */\n UrlParser.prototype.parseQueryParam = /**\n * @param {?} params\n * @return {?}\n */\n function (params) {\n var /** @type {?} */ key = matchQueryParams(this.remaining);\n if (!key) {\n return;\n }\n this.capture(key);\n var /** @type {?} */ value = '';\n if (this.consumeOptional('=')) {\n var /** @type {?} */ valueMatch = matchUrlQueryParamValue(this.remaining);\n if (valueMatch) {\n value = valueMatch;\n this.capture(value);\n }\n }\n var /** @type {?} */ decodedKey = decode(key);\n var /** @type {?} */ decodedVal = decode(value);\n if (params.hasOwnProperty(decodedKey)) {\n // Append to existing values\n var /** @type {?} */ currentVal = params[decodedKey];\n if (!Array.isArray(currentVal)) {\n currentVal = [currentVal];\n params[decodedKey] = currentVal;\n }\n currentVal.push(decodedVal);\n }\n else {\n // Create a new value\n params[decodedKey] = decodedVal;\n }\n };\n /**\n * @param {?} allowPrimary\n * @return {?}\n */\n UrlParser.prototype.parseParens = /**\n * @param {?} allowPrimary\n * @return {?}\n */\n function (allowPrimary) {\n var /** @type {?} */ segments = {};\n this.capture('(');\n while (!this.consumeOptional(')') && this.remaining.length > 0) {\n var /** @type {?} */ path = matchSegments(this.remaining);\n var /** @type {?} */ next = this.remaining[path.length];\n // if is is not one of these characters, then the segment was unescaped\n // or the group was not closed\n if (next !== '/' && next !== ')' && next !== ';') {\n throw new Error(\"Cannot parse url '\" + this.url + \"'\");\n }\n var /** @type {?} */ outletName = /** @type {?} */ ((undefined));\n if (path.indexOf(':') > -1) {\n outletName = path.substr(0, path.indexOf(':'));\n this.capture(outletName);\n this.capture(':');\n }\n else if (allowPrimary) {\n outletName = PRIMARY_OUTLET;\n }\n var /** @type {?} */ children = this.parseChildren();\n segments[outletName] = Object.keys(children).length === 1 ? children[PRIMARY_OUTLET] :\n new UrlSegmentGroup([], children);\n this.consumeOptional('//');\n }\n return segments;\n };\n /**\n * @param {?} str\n * @return {?}\n */\n UrlParser.prototype.peekStartsWith = /**\n * @param {?} str\n * @return {?}\n */\n function (str) { return this.remaining.startsWith(str); };\n /**\n * @param {?} str\n * @return {?}\n */\n UrlParser.prototype.consumeOptional = /**\n * @param {?} str\n * @return {?}\n */\n function (str) {\n if (this.peekStartsWith(str)) {\n this.remaining = this.remaining.substring(str.length);\n return true;\n }\n return false;\n };\n /**\n * @param {?} str\n * @return {?}\n */\n UrlParser.prototype.capture = /**\n * @param {?} str\n * @return {?}\n */\n function (str) {\n if (!this.consumeOptional(str)) {\n throw new Error(\"Expected \\\"\" + str + \"\\\".\");\n }\n };\n return UrlParser;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar NoMatch = /** @class */ (function () {\n function NoMatch(segmentGroup) {\n this.segmentGroup = segmentGroup || null;\n }\n return NoMatch;\n}());\nvar AbsoluteRedirect = /** @class */ (function () {\n function AbsoluteRedirect(urlTree) {\n this.urlTree = urlTree;\n }\n return AbsoluteRedirect;\n}());\n/**\n * @param {?} segmentGroup\n * @return {?}\n */\nfunction noMatch(segmentGroup) {\n return new Observable(function (obs) { return obs.error(new NoMatch(segmentGroup)); });\n}\n/**\n * @param {?} newTree\n * @return {?}\n */\nfunction absoluteRedirect(newTree) {\n return new Observable(function (obs) { return obs.error(new AbsoluteRedirect(newTree)); });\n}\n/**\n * @param {?} redirectTo\n * @return {?}\n */\nfunction namedOutletsRedirect(redirectTo) {\n return new Observable(function (obs) {\n return obs.error(new Error(\"Only absolute redirects can have named outlets. redirectTo: '\" + redirectTo + \"'\"));\n });\n}\n/**\n * @param {?} route\n * @return {?}\n */\nfunction canLoadFails(route) {\n return new Observable(function (obs) {\n return obs.error(navigationCancelingError(\"Cannot load children because the guard of the route \\\"path: '\" + route.path + \"'\\\" returned false\"));\n });\n}\n/**\n * Returns the `UrlTree` with the redirection applied.\n *\n * Lazy modules are loaded along the way.\n * @param {?} moduleInjector\n * @param {?} configLoader\n * @param {?} urlSerializer\n * @param {?} urlTree\n * @param {?} config\n * @return {?}\n */\nfunction applyRedirects(moduleInjector, configLoader, urlSerializer, urlTree, config) {\n return new ApplyRedirects(moduleInjector, configLoader, urlSerializer, urlTree, config).apply();\n}\nvar ApplyRedirects = /** @class */ (function () {\n function ApplyRedirects(moduleInjector, configLoader, urlSerializer, urlTree, config) {\n this.configLoader = configLoader;\n this.urlSerializer = urlSerializer;\n this.urlTree = urlTree;\n this.config = config;\n this.allowRedirects = true;\n this.ngModule = moduleInjector.get(NgModuleRef);\n }\n /**\n * @return {?}\n */\n ApplyRedirects.prototype.apply = /**\n * @return {?}\n */\n function () {\n var _this = this;\n var /** @type {?} */ expanded$ = this.expandSegmentGroup(this.ngModule, this.config, this.urlTree.root, PRIMARY_OUTLET);\n var /** @type {?} */ urlTrees$ = map.call(expanded$, function (rootSegmentGroup) {\n return _this.createUrlTree(rootSegmentGroup, _this.urlTree.queryParams, /** @type {?} */ ((_this.urlTree.fragment)));\n });\n return _catch.call(urlTrees$, function (e) {\n if (e instanceof AbsoluteRedirect) {\n // after an absolute redirect we do not apply any more redirects!\n // after an absolute redirect we do not apply any more redirects!\n _this.allowRedirects = false;\n // we need to run matching, so we can fetch all lazy-loaded modules\n return _this.match(e.urlTree);\n }\n if (e instanceof NoMatch) {\n throw _this.noMatchError(e);\n }\n throw e;\n });\n };\n /**\n * @param {?} tree\n * @return {?}\n */\n ApplyRedirects.prototype.match = /**\n * @param {?} tree\n * @return {?}\n */\n function (tree) {\n var _this = this;\n var /** @type {?} */ expanded$ = this.expandSegmentGroup(this.ngModule, this.config, tree.root, PRIMARY_OUTLET);\n var /** @type {?} */ mapped$ = map.call(expanded$, function (rootSegmentGroup) {\n return _this.createUrlTree(rootSegmentGroup, tree.queryParams, /** @type {?} */ ((tree.fragment)));\n });\n return _catch.call(mapped$, function (e) {\n if (e instanceof NoMatch) {\n throw _this.noMatchError(e);\n }\n throw e;\n });\n };\n /**\n * @param {?} e\n * @return {?}\n */\n ApplyRedirects.prototype.noMatchError = /**\n * @param {?} e\n * @return {?}\n */\n function (e) {\n return new Error(\"Cannot match any routes. URL Segment: '\" + e.segmentGroup + \"'\");\n };\n /**\n * @param {?} rootCandidate\n * @param {?} queryParams\n * @param {?} fragment\n * @return {?}\n */\n ApplyRedirects.prototype.createUrlTree = /**\n * @param {?} rootCandidate\n * @param {?} queryParams\n * @param {?} fragment\n * @return {?}\n */\n function (rootCandidate, queryParams, fragment) {\n var /** @type {?} */ root = rootCandidate.segments.length > 0 ?\n new UrlSegmentGroup([], (_a = {}, _a[PRIMARY_OUTLET] = rootCandidate, _a)) :\n rootCandidate;\n return new UrlTree(root, queryParams, fragment);\n var _a;\n };\n /**\n * @param {?} ngModule\n * @param {?} routes\n * @param {?} segmentGroup\n * @param {?} outlet\n * @return {?}\n */\n ApplyRedirects.prototype.expandSegmentGroup = /**\n * @param {?} ngModule\n * @param {?} routes\n * @param {?} segmentGroup\n * @param {?} outlet\n * @return {?}\n */\n function (ngModule, routes, segmentGroup, outlet) {\n if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n return map.call(this.expandChildren(ngModule, routes, segmentGroup), function (children) { return new UrlSegmentGroup([], children); });\n }\n return this.expandSegment(ngModule, segmentGroup, routes, segmentGroup.segments, outlet, true);\n };\n /**\n * @param {?} ngModule\n * @param {?} routes\n * @param {?} segmentGroup\n * @return {?}\n */\n ApplyRedirects.prototype.expandChildren = /**\n * @param {?} ngModule\n * @param {?} routes\n * @param {?} segmentGroup\n * @return {?}\n */\n function (ngModule, routes, segmentGroup) {\n var _this = this;\n return waitForMap(segmentGroup.children, function (childOutlet, child) { return _this.expandSegmentGroup(ngModule, routes, child, childOutlet); });\n };\n /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} segments\n * @param {?} outlet\n * @param {?} allowRedirects\n * @return {?}\n */\n ApplyRedirects.prototype.expandSegment = /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} segments\n * @param {?} outlet\n * @param {?} allowRedirects\n * @return {?}\n */\n function (ngModule, segmentGroup, routes, segments, outlet, allowRedirects) {\n var _this = this;\n var /** @type {?} */ routes$ = of.apply(void 0, routes);\n var /** @type {?} */ processedRoutes$ = map.call(routes$, function (r) {\n var /** @type {?} */ expanded$ = _this.expandSegmentAgainstRoute(ngModule, segmentGroup, routes, r, segments, outlet, allowRedirects);\n return _catch.call(expanded$, function (e) {\n if (e instanceof NoMatch) {\n return of(null);\n }\n throw e;\n });\n });\n var /** @type {?} */ concattedProcessedRoutes$ = concatAll.call(processedRoutes$);\n var /** @type {?} */ first$ = first.call(concattedProcessedRoutes$, function (s) { return !!s; });\n return _catch.call(first$, function (e, _) {\n if (e instanceof EmptyError || e.name === 'EmptyError') {\n if (_this.noLeftoversInUrl(segmentGroup, segments, outlet)) {\n return of(new UrlSegmentGroup([], {}));\n }\n throw new NoMatch(segmentGroup);\n }\n throw e;\n });\n };\n /**\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n ApplyRedirects.prototype.noLeftoversInUrl = /**\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n function (segmentGroup, segments, outlet) {\n return segments.length === 0 && !segmentGroup.children[outlet];\n };\n /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} route\n * @param {?} paths\n * @param {?} outlet\n * @param {?} allowRedirects\n * @return {?}\n */\n ApplyRedirects.prototype.expandSegmentAgainstRoute = /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} route\n * @param {?} paths\n * @param {?} outlet\n * @param {?} allowRedirects\n * @return {?}\n */\n function (ngModule, segmentGroup, routes, route, paths, outlet, allowRedirects) {\n if (getOutlet(route) !== outlet) {\n return noMatch(segmentGroup);\n }\n if (route.redirectTo === undefined) {\n return this.matchSegmentAgainstRoute(ngModule, segmentGroup, route, paths);\n }\n if (allowRedirects && this.allowRedirects) {\n return this.expandSegmentAgainstRouteUsingRedirect(ngModule, segmentGroup, routes, route, paths, outlet);\n }\n return noMatch(segmentGroup);\n };\n /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} route\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n ApplyRedirects.prototype.expandSegmentAgainstRouteUsingRedirect = /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} route\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n function (ngModule, segmentGroup, routes, route, segments, outlet) {\n if (route.path === '**') {\n return this.expandWildCardWithParamsAgainstRouteUsingRedirect(ngModule, routes, route, outlet);\n }\n return this.expandRegularSegmentAgainstRouteUsingRedirect(ngModule, segmentGroup, routes, route, segments, outlet);\n };\n /**\n * @param {?} ngModule\n * @param {?} routes\n * @param {?} route\n * @param {?} outlet\n * @return {?}\n */\n ApplyRedirects.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect = /**\n * @param {?} ngModule\n * @param {?} routes\n * @param {?} route\n * @param {?} outlet\n * @return {?}\n */\n function (ngModule, routes, route, outlet) {\n var _this = this;\n var /** @type {?} */ newTree = this.applyRedirectCommands([], /** @type {?} */ ((route.redirectTo)), {});\n if (/** @type {?} */ ((route.redirectTo)).startsWith('/')) {\n return absoluteRedirect(newTree);\n }\n return mergeMap.call(this.lineralizeSegments(route, newTree), function (newSegments) {\n var /** @type {?} */ group = new UrlSegmentGroup(newSegments, {});\n return _this.expandSegment(ngModule, group, routes, newSegments, outlet, false);\n });\n };\n /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} route\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n ApplyRedirects.prototype.expandRegularSegmentAgainstRouteUsingRedirect = /**\n * @param {?} ngModule\n * @param {?} segmentGroup\n * @param {?} routes\n * @param {?} route\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n function (ngModule, segmentGroup, routes, route, segments, outlet) {\n var _this = this;\n var _a = match(segmentGroup, route, segments), matched = _a.matched, consumedSegments = _a.consumedSegments, lastChild = _a.lastChild, positionalParamSegments = _a.positionalParamSegments;\n if (!matched)\n return noMatch(segmentGroup);\n var /** @type {?} */ newTree = this.applyRedirectCommands(consumedSegments, /** @type {?} */ ((route.redirectTo)), /** @type {?} */ (positionalParamSegments));\n if (/** @type {?} */ ((route.redirectTo)).startsWith('/')) {\n return absoluteRedirect(newTree);\n }\n return mergeMap.call(this.lineralizeSegments(route, newTree), function (newSegments) {\n return _this.expandSegment(ngModule, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);\n });\n };\n /**\n * @param {?} ngModule\n * @param {?} rawSegmentGroup\n * @param {?} route\n * @param {?} segments\n * @return {?}\n */\n ApplyRedirects.prototype.matchSegmentAgainstRoute = /**\n * @param {?} ngModule\n * @param {?} rawSegmentGroup\n * @param {?} route\n * @param {?} segments\n * @return {?}\n */\n function (ngModule, rawSegmentGroup, route, segments) {\n var _this = this;\n if (route.path === '**') {\n if (route.loadChildren) {\n return map.call(this.configLoader.load(ngModule.injector, route), function (cfg) {\n route._loadedConfig = cfg;\n return new UrlSegmentGroup(segments, {});\n });\n }\n return of(new UrlSegmentGroup(segments, {}));\n }\n var _a = match(rawSegmentGroup, route, segments), matched = _a.matched, consumedSegments = _a.consumedSegments, lastChild = _a.lastChild;\n if (!matched)\n return noMatch(rawSegmentGroup);\n var /** @type {?} */ rawSlicedSegments = segments.slice(lastChild);\n var /** @type {?} */ childConfig$ = this.getChildConfig(ngModule, route);\n return mergeMap.call(childConfig$, function (routerConfig) {\n var /** @type {?} */ childModule = routerConfig.module;\n var /** @type {?} */ childConfig = routerConfig.routes;\n var _a = split(rawSegmentGroup, consumedSegments, rawSlicedSegments, childConfig), segmentGroup = _a.segmentGroup, slicedSegments = _a.slicedSegments;\n if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {\n var /** @type {?} */ expanded$_1 = _this.expandChildren(childModule, childConfig, segmentGroup);\n return map.call(expanded$_1, function (children) { return new UrlSegmentGroup(consumedSegments, children); });\n }\n if (childConfig.length === 0 && slicedSegments.length === 0) {\n return of(new UrlSegmentGroup(consumedSegments, {}));\n }\n var /** @type {?} */ expanded$ = _this.expandSegment(childModule, segmentGroup, childConfig, slicedSegments, PRIMARY_OUTLET, true);\n return map.call(expanded$, function (cs) {\n return new UrlSegmentGroup(consumedSegments.concat(cs.segments), cs.children);\n });\n });\n };\n /**\n * @param {?} ngModule\n * @param {?} route\n * @return {?}\n */\n ApplyRedirects.prototype.getChildConfig = /**\n * @param {?} ngModule\n * @param {?} route\n * @return {?}\n */\n function (ngModule, route) {\n var _this = this;\n if (route.children) {\n // The children belong to the same module\n return of(new LoadedRouterConfig(route.children, ngModule));\n }\n if (route.loadChildren) {\n // lazy children belong to the loaded module\n if (route._loadedConfig !== undefined) {\n return of(route._loadedConfig);\n }\n return mergeMap.call(runCanLoadGuard(ngModule.injector, route), function (shouldLoad) {\n if (shouldLoad) {\n return map.call(_this.configLoader.load(ngModule.injector, route), function (cfg) {\n route._loadedConfig = cfg;\n return cfg;\n });\n }\n return canLoadFails(route);\n });\n }\n return of(new LoadedRouterConfig([], ngModule));\n };\n /**\n * @param {?} route\n * @param {?} urlTree\n * @return {?}\n */\n ApplyRedirects.prototype.lineralizeSegments = /**\n * @param {?} route\n * @param {?} urlTree\n * @return {?}\n */\n function (route, urlTree) {\n var /** @type {?} */ res = [];\n var /** @type {?} */ c = urlTree.root;\n while (true) {\n res = res.concat(c.segments);\n if (c.numberOfChildren === 0) {\n return of(res);\n }\n if (c.numberOfChildren > 1 || !c.children[PRIMARY_OUTLET]) {\n return namedOutletsRedirect(/** @type {?} */ ((route.redirectTo)));\n }\n c = c.children[PRIMARY_OUTLET];\n }\n };\n /**\n * @param {?} segments\n * @param {?} redirectTo\n * @param {?} posParams\n * @return {?}\n */\n ApplyRedirects.prototype.applyRedirectCommands = /**\n * @param {?} segments\n * @param {?} redirectTo\n * @param {?} posParams\n * @return {?}\n */\n function (segments, redirectTo, posParams) {\n return this.applyRedirectCreatreUrlTree(redirectTo, this.urlSerializer.parse(redirectTo), segments, posParams);\n };\n /**\n * @param {?} redirectTo\n * @param {?} urlTree\n * @param {?} segments\n * @param {?} posParams\n * @return {?}\n */\n ApplyRedirects.prototype.applyRedirectCreatreUrlTree = /**\n * @param {?} redirectTo\n * @param {?} urlTree\n * @param {?} segments\n * @param {?} posParams\n * @return {?}\n */\n function (redirectTo, urlTree, segments, posParams) {\n var /** @type {?} */ newRoot = this.createSegmentGroup(redirectTo, urlTree.root, segments, posParams);\n return new UrlTree(newRoot, this.createQueryParams(urlTree.queryParams, this.urlTree.queryParams), urlTree.fragment);\n };\n /**\n * @param {?} redirectToParams\n * @param {?} actualParams\n * @return {?}\n */\n ApplyRedirects.prototype.createQueryParams = /**\n * @param {?} redirectToParams\n * @param {?} actualParams\n * @return {?}\n */\n function (redirectToParams, actualParams) {\n var /** @type {?} */ res = {};\n forEach(redirectToParams, function (v, k) {\n var /** @type {?} */ copySourceValue = typeof v === 'string' && v.startsWith(':');\n if (copySourceValue) {\n var /** @type {?} */ sourceName = v.substring(1);\n res[k] = actualParams[sourceName];\n }\n else {\n res[k] = v;\n }\n });\n return res;\n };\n /**\n * @param {?} redirectTo\n * @param {?} group\n * @param {?} segments\n * @param {?} posParams\n * @return {?}\n */\n ApplyRedirects.prototype.createSegmentGroup = /**\n * @param {?} redirectTo\n * @param {?} group\n * @param {?} segments\n * @param {?} posParams\n * @return {?}\n */\n function (redirectTo, group, segments, posParams) {\n var _this = this;\n var /** @type {?} */ updatedSegments = this.createSegments(redirectTo, group.segments, segments, posParams);\n var /** @type {?} */ children = {};\n forEach(group.children, function (child, name) {\n children[name] = _this.createSegmentGroup(redirectTo, child, segments, posParams);\n });\n return new UrlSegmentGroup(updatedSegments, children);\n };\n /**\n * @param {?} redirectTo\n * @param {?} redirectToSegments\n * @param {?} actualSegments\n * @param {?} posParams\n * @return {?}\n */\n ApplyRedirects.prototype.createSegments = /**\n * @param {?} redirectTo\n * @param {?} redirectToSegments\n * @param {?} actualSegments\n * @param {?} posParams\n * @return {?}\n */\n function (redirectTo, redirectToSegments, actualSegments, posParams) {\n var _this = this;\n return redirectToSegments.map(function (s) {\n return s.path.startsWith(':') ? _this.findPosParam(redirectTo, s, posParams) :\n _this.findOrReturn(s, actualSegments);\n });\n };\n /**\n * @param {?} redirectTo\n * @param {?} redirectToUrlSegment\n * @param {?} posParams\n * @return {?}\n */\n ApplyRedirects.prototype.findPosParam = /**\n * @param {?} redirectTo\n * @param {?} redirectToUrlSegment\n * @param {?} posParams\n * @return {?}\n */\n function (redirectTo, redirectToUrlSegment, posParams) {\n var /** @type {?} */ pos = posParams[redirectToUrlSegment.path.substring(1)];\n if (!pos)\n throw new Error(\"Cannot redirect to '\" + redirectTo + \"'. Cannot find '\" + redirectToUrlSegment.path + \"'.\");\n return pos;\n };\n /**\n * @param {?} redirectToUrlSegment\n * @param {?} actualSegments\n * @return {?}\n */\n ApplyRedirects.prototype.findOrReturn = /**\n * @param {?} redirectToUrlSegment\n * @param {?} actualSegments\n * @return {?}\n */\n function (redirectToUrlSegment, actualSegments) {\n var /** @type {?} */ idx = 0;\n for (var _i = 0, actualSegments_1 = actualSegments; _i < actualSegments_1.length; _i++) {\n var s = actualSegments_1[_i];\n if (s.path === redirectToUrlSegment.path) {\n actualSegments.splice(idx);\n return s;\n }\n idx++;\n }\n return redirectToUrlSegment;\n };\n return ApplyRedirects;\n}());\n/**\n * @param {?} moduleInjector\n * @param {?} route\n * @return {?}\n */\nfunction runCanLoadGuard(moduleInjector, route) {\n var /** @type {?} */ canLoad = route.canLoad;\n if (!canLoad || canLoad.length === 0)\n return of(true);\n var /** @type {?} */ obs = map.call(from(canLoad), function (injectionToken) {\n var /** @type {?} */ guard = moduleInjector.get(injectionToken);\n return wrapIntoObservable(guard.canLoad ? guard.canLoad(route) : guard(route));\n });\n return andObservables(obs);\n}\n/**\n * @param {?} segmentGroup\n * @param {?} route\n * @param {?} segments\n * @return {?}\n */\nfunction match(segmentGroup, route, segments) {\n if (route.path === '') {\n if ((route.pathMatch === 'full') && (segmentGroup.hasChildren() || segments.length > 0)) {\n return { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };\n }\n return { matched: true, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };\n }\n var /** @type {?} */ matcher = route.matcher || defaultUrlMatcher;\n var /** @type {?} */ res = matcher(segments, segmentGroup, route);\n if (!res) {\n return {\n matched: false,\n consumedSegments: /** @type {?} */ ([]),\n lastChild: 0,\n positionalParamSegments: {},\n };\n }\n return {\n matched: true,\n consumedSegments: /** @type {?} */ ((res.consumed)),\n lastChild: /** @type {?} */ ((res.consumed.length)),\n positionalParamSegments: /** @type {?} */ ((res.posParams)),\n };\n}\n/**\n * @param {?} segmentGroup\n * @param {?} consumedSegments\n * @param {?} slicedSegments\n * @param {?} config\n * @return {?}\n */\nfunction split(segmentGroup, consumedSegments, slicedSegments, config) {\n if (slicedSegments.length > 0 &&\n containsEmptyPathRedirectsWithNamedOutlets(segmentGroup, slicedSegments, config)) {\n var /** @type {?} */ s = new UrlSegmentGroup(consumedSegments, createChildrenForEmptySegments(config, new UrlSegmentGroup(slicedSegments, segmentGroup.children)));\n return { segmentGroup: mergeTrivialChildren(s), slicedSegments: [] };\n }\n if (slicedSegments.length === 0 &&\n containsEmptyPathRedirects(segmentGroup, slicedSegments, config)) {\n var /** @type {?} */ s = new UrlSegmentGroup(segmentGroup.segments, addEmptySegmentsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));\n return { segmentGroup: mergeTrivialChildren(s), slicedSegments: slicedSegments };\n }\n return { segmentGroup: segmentGroup, slicedSegments: slicedSegments };\n}\n/**\n * @param {?} s\n * @return {?}\n */\nfunction mergeTrivialChildren(s) {\n if (s.numberOfChildren === 1 && s.children[PRIMARY_OUTLET]) {\n var /** @type {?} */ c = s.children[PRIMARY_OUTLET];\n return new UrlSegmentGroup(s.segments.concat(c.segments), c.children);\n }\n return s;\n}\n/**\n * @param {?} segmentGroup\n * @param {?} slicedSegments\n * @param {?} routes\n * @param {?} children\n * @return {?}\n */\nfunction addEmptySegmentsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {\n var /** @type {?} */ res = {};\n for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {\n var r = routes_1[_i];\n if (isEmptyPathRedirect(segmentGroup, slicedSegments, r) && !children[getOutlet(r)]) {\n res[getOutlet(r)] = new UrlSegmentGroup([], {});\n }\n }\n return __assign({}, children, res);\n}\n/**\n * @param {?} routes\n * @param {?} primarySegmentGroup\n * @return {?}\n */\nfunction createChildrenForEmptySegments(routes, primarySegmentGroup) {\n var /** @type {?} */ res = {};\n res[PRIMARY_OUTLET] = primarySegmentGroup;\n for (var _i = 0, routes_2 = routes; _i < routes_2.length; _i++) {\n var r = routes_2[_i];\n if (r.path === '' && getOutlet(r) !== PRIMARY_OUTLET) {\n res[getOutlet(r)] = new UrlSegmentGroup([], {});\n }\n }\n return res;\n}\n/**\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} routes\n * @return {?}\n */\nfunction containsEmptyPathRedirectsWithNamedOutlets(segmentGroup, segments, routes) {\n return routes.some(function (r) { return isEmptyPathRedirect(segmentGroup, segments, r) && getOutlet(r) !== PRIMARY_OUTLET; });\n}\n/**\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} routes\n * @return {?}\n */\nfunction containsEmptyPathRedirects(segmentGroup, segments, routes) {\n return routes.some(function (r) { return isEmptyPathRedirect(segmentGroup, segments, r); });\n}\n/**\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} r\n * @return {?}\n */\nfunction isEmptyPathRedirect(segmentGroup, segments, r) {\n if ((segmentGroup.hasChildren() || segments.length > 0) && r.pathMatch === 'full') {\n return false;\n }\n return r.path === '' && r.redirectTo !== undefined;\n}\n/**\n * @param {?} route\n * @return {?}\n */\nfunction getOutlet(route) {\n return route.outlet || PRIMARY_OUTLET;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Tree = /** @class */ (function () {\n function Tree(root) {\n this._root = root;\n }\n Object.defineProperty(Tree.prototype, \"root\", {\n get: /**\n * @return {?}\n */\n function () { return this._root.value; },\n enumerable: true,\n configurable: true\n });\n /**\n * @internal\n */\n /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n Tree.prototype.parent = /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n function (t) {\n var /** @type {?} */ p = this.pathFromRoot(t);\n return p.length > 1 ? p[p.length - 2] : null;\n };\n /**\n * @internal\n */\n /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n Tree.prototype.children = /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n function (t) {\n var /** @type {?} */ n = findNode(t, this._root);\n return n ? n.children.map(function (t) { return t.value; }) : [];\n };\n /**\n * @internal\n */\n /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n Tree.prototype.firstChild = /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n function (t) {\n var /** @type {?} */ n = findNode(t, this._root);\n return n && n.children.length > 0 ? n.children[0].value : null;\n };\n /**\n * @internal\n */\n /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n Tree.prototype.siblings = /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n function (t) {\n var /** @type {?} */ p = findPath(t, this._root);\n if (p.length < 2)\n return [];\n var /** @type {?} */ c = p[p.length - 2].children.map(function (c) { return c.value; });\n return c.filter(function (cc) { return cc !== t; });\n };\n /**\n * @internal\n */\n /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n Tree.prototype.pathFromRoot = /**\n * \\@internal\n * @param {?} t\n * @return {?}\n */\n function (t) { return findPath(t, this._root).map(function (s) { return s.value; }); };\n return Tree;\n}());\n/**\n * @template T\n * @param {?} value\n * @param {?} node\n * @return {?}\n */\nfunction findNode(value, node) {\n if (value === node.value)\n return node;\n for (var _i = 0, _a = node.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var /** @type {?} */ node_1 = findNode(value, child);\n if (node_1)\n return node_1;\n }\n return null;\n}\n/**\n * @template T\n * @param {?} value\n * @param {?} node\n * @return {?}\n */\nfunction findPath(value, node) {\n if (value === node.value)\n return [node];\n for (var _i = 0, _a = node.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var /** @type {?} */ path = findPath(value, child);\n if (path.length) {\n path.unshift(node);\n return path;\n }\n }\n return [];\n}\nvar TreeNode = /** @class */ (function () {\n function TreeNode(value, children) {\n this.value = value;\n this.children = children;\n }\n /**\n * @return {?}\n */\n TreeNode.prototype.toString = /**\n * @return {?}\n */\n function () { return \"TreeNode(\" + this.value + \")\"; };\n return TreeNode;\n}());\n/**\n * @template T\n * @param {?} node\n * @return {?}\n */\nfunction nodeChildrenAsMap(node) {\n var /** @type {?} */ map$$1 = {};\n if (node) {\n node.children.forEach(function (child) { return map$$1[child.value.outlet] = child; });\n }\n return map$$1;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Represents the state of the router.\n *\n * \\@howToUse\n *\n * ```\n * \\@Component({templateUrl:'template.html'})\n * class MyComponent {\n * constructor(router: Router) {\n * const state: RouterState = router.routerState;\n * const root: ActivatedRoute = state.root;\n * const child = root.firstChild;\n * const id: Observable = child.params.map(p => p.id);\n * //...\n * }\n * }\n * ```\n *\n * \\@description\n * RouterState is a tree of activated routes. Every node in this tree knows about the \"consumed\" URL\n * segments, the extracted parameters, and the resolved data.\n *\n * See {\\@link ActivatedRoute} for more information.\n *\n * \\@stable\n */\nvar RouterState = /** @class */ (function (_super) {\n __extends(RouterState, _super);\n /** @internal */\n function RouterState(root, snapshot) {\n var _this = _super.call(this, root) || this;\n _this.snapshot = snapshot;\n setRouterState(/** @type {?} */ (_this), root);\n return _this;\n }\n /**\n * @return {?}\n */\n RouterState.prototype.toString = /**\n * @return {?}\n */\n function () { return this.snapshot.toString(); };\n return RouterState;\n}(Tree));\n/**\n * @param {?} urlTree\n * @param {?} rootComponent\n * @return {?}\n */\nfunction createEmptyState(urlTree, rootComponent) {\n var /** @type {?} */ snapshot = createEmptyStateSnapshot(urlTree, rootComponent);\n var /** @type {?} */ emptyUrl = new BehaviorSubject([new UrlSegment('', {})]);\n var /** @type {?} */ emptyParams = new BehaviorSubject({});\n var /** @type {?} */ emptyData = new BehaviorSubject({});\n var /** @type {?} */ emptyQueryParams = new BehaviorSubject({});\n var /** @type {?} */ fragment = new BehaviorSubject('');\n var /** @type {?} */ activated = new ActivatedRoute(emptyUrl, emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, snapshot.root);\n activated.snapshot = snapshot.root;\n return new RouterState(new TreeNode(activated, []), snapshot);\n}\n/**\n * @param {?} urlTree\n * @param {?} rootComponent\n * @return {?}\n */\nfunction createEmptyStateSnapshot(urlTree, rootComponent) {\n var /** @type {?} */ emptyParams = {};\n var /** @type {?} */ emptyData = {};\n var /** @type {?} */ emptyQueryParams = {};\n var /** @type {?} */ fragment = '';\n var /** @type {?} */ activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, null, urlTree.root, -1, {});\n return new RouterStateSnapshot('', new TreeNode(activated, []));\n}\n/**\n * \\@whatItDoes Contains the information about a route associated with a component loaded in an\n * outlet.\n * An `ActivatedRoute` can also be used to traverse the router state tree.\n *\n * \\@howToUse\n *\n * ```\n * \\@Component({...})\n * class MyComponent {\n * constructor(route: ActivatedRoute) {\n * const id: Observable = route.params.map(p => p.id);\n * const url: Observable = route.url.map(segments => segments.join(''));\n * // route.data includes both `data` and `resolve`\n * const user = route.data.map(d => d.user);\n * }\n * }\n * ```\n *\n * \\@stable\n */\nvar ActivatedRoute = /** @class */ (function () {\n /** @internal */\n function ActivatedRoute(url, params, queryParams, fragment, data, outlet, component, futureSnapshot) {\n this.url = url;\n this.params = params;\n this.queryParams = queryParams;\n this.fragment = fragment;\n this.data = data;\n this.outlet = outlet;\n this.component = component;\n this._futureSnapshot = futureSnapshot;\n }\n Object.defineProperty(ActivatedRoute.prototype, \"routeConfig\", {\n /** The configuration used to match this route */\n get: /**\n * The configuration used to match this route\n * @return {?}\n */\n function () { return this._futureSnapshot.routeConfig; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRoute.prototype, \"root\", {\n /** The root of the router state */\n get: /**\n * The root of the router state\n * @return {?}\n */\n function () { return this._routerState.root; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRoute.prototype, \"parent\", {\n /** The parent of this route in the router state tree */\n get: /**\n * The parent of this route in the router state tree\n * @return {?}\n */\n function () { return this._routerState.parent(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRoute.prototype, \"firstChild\", {\n /** The first child of this route in the router state tree */\n get: /**\n * The first child of this route in the router state tree\n * @return {?}\n */\n function () { return this._routerState.firstChild(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRoute.prototype, \"children\", {\n /** The children of this route in the router state tree */\n get: /**\n * The children of this route in the router state tree\n * @return {?}\n */\n function () { return this._routerState.children(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRoute.prototype, \"pathFromRoot\", {\n /** The path from the root of the router state tree to this route */\n get: /**\n * The path from the root of the router state tree to this route\n * @return {?}\n */\n function () { return this._routerState.pathFromRoot(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRoute.prototype, \"paramMap\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this._paramMap) {\n this._paramMap = map.call(this.params, function (p) { return convertToParamMap(p); });\n }\n return this._paramMap;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRoute.prototype, \"queryParamMap\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this._queryParamMap) {\n this._queryParamMap =\n map.call(this.queryParams, function (p) { return convertToParamMap(p); });\n }\n return this._queryParamMap;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n ActivatedRoute.prototype.toString = /**\n * @return {?}\n */\n function () {\n return this.snapshot ? this.snapshot.toString() : \"Future(\" + this._futureSnapshot + \")\";\n };\n return ActivatedRoute;\n}());\n/**\n * Returns the inherited params, data, and resolve for a given route.\n * By default, this only inherits values up to the nearest path-less or component-less route.\n * \\@internal\n * @param {?} route\n * @param {?=} paramsInheritanceStrategy\n * @return {?}\n */\nfunction inheritedParamsDataResolve(route, paramsInheritanceStrategy) {\n if (paramsInheritanceStrategy === void 0) { paramsInheritanceStrategy = 'emptyOnly'; }\n var /** @type {?} */ pathFromRoot = route.pathFromRoot;\n var /** @type {?} */ inheritingStartingFrom = 0;\n if (paramsInheritanceStrategy !== 'always') {\n inheritingStartingFrom = pathFromRoot.length - 1;\n while (inheritingStartingFrom >= 1) {\n var /** @type {?} */ current = pathFromRoot[inheritingStartingFrom];\n var /** @type {?} */ parent_1 = pathFromRoot[inheritingStartingFrom - 1];\n // current route is an empty path => inherits its parent's params and data\n if (current.routeConfig && current.routeConfig.path === '') {\n inheritingStartingFrom--;\n // parent is componentless => current route should inherit its params and data\n }\n else if (!parent_1.component) {\n inheritingStartingFrom--;\n }\n else {\n break;\n }\n }\n }\n return flattenInherited(pathFromRoot.slice(inheritingStartingFrom));\n}\n/**\n * \\@internal\n * @param {?} pathFromRoot\n * @return {?}\n */\nfunction flattenInherited(pathFromRoot) {\n return pathFromRoot.reduce(function (res, curr) {\n var /** @type {?} */ params = __assign({}, res.params, curr.params);\n var /** @type {?} */ data = __assign({}, res.data, curr.data);\n var /** @type {?} */ resolve = __assign({}, res.resolve, curr._resolvedData);\n return { params: params, data: data, resolve: resolve };\n }, /** @type {?} */ ({ params: {}, data: {}, resolve: {} }));\n}\n/**\n * \\@whatItDoes Contains the information about a route associated with a component loaded in an\n * outlet\n * at a particular moment in time. ActivatedRouteSnapshot can also be used to traverse the router\n * state tree.\n *\n * \\@howToUse\n *\n * ```\n * \\@Component({templateUrl:'./my-component.html'})\n * class MyComponent {\n * constructor(route: ActivatedRoute) {\n * const id: string = route.snapshot.params.id;\n * const url: string = route.snapshot.url.join('');\n * const user = route.snapshot.data.user;\n * }\n * }\n * ```\n *\n * \\@stable\n */\nvar ActivatedRouteSnapshot = /** @class */ (function () {\n /** @internal */\n function ActivatedRouteSnapshot(url, params, queryParams, fragment, data, outlet, component, routeConfig, urlSegment, lastPathIndex, resolve) {\n this.url = url;\n this.params = params;\n this.queryParams = queryParams;\n this.fragment = fragment;\n this.data = data;\n this.outlet = outlet;\n this.component = component;\n this.routeConfig = routeConfig;\n this._urlSegment = urlSegment;\n this._lastPathIndex = lastPathIndex;\n this._resolve = resolve;\n }\n Object.defineProperty(ActivatedRouteSnapshot.prototype, \"root\", {\n /** The root of the router state */\n get: /**\n * The root of the router state\n * @return {?}\n */\n function () { return this._routerState.root; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRouteSnapshot.prototype, \"parent\", {\n /** The parent of this route in the router state tree */\n get: /**\n * The parent of this route in the router state tree\n * @return {?}\n */\n function () { return this._routerState.parent(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRouteSnapshot.prototype, \"firstChild\", {\n /** The first child of this route in the router state tree */\n get: /**\n * The first child of this route in the router state tree\n * @return {?}\n */\n function () { return this._routerState.firstChild(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRouteSnapshot.prototype, \"children\", {\n /** The children of this route in the router state tree */\n get: /**\n * The children of this route in the router state tree\n * @return {?}\n */\n function () { return this._routerState.children(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRouteSnapshot.prototype, \"pathFromRoot\", {\n /** The path from the root of the router state tree to this route */\n get: /**\n * The path from the root of the router state tree to this route\n * @return {?}\n */\n function () { return this._routerState.pathFromRoot(this); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRouteSnapshot.prototype, \"paramMap\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this._paramMap) {\n this._paramMap = convertToParamMap(this.params);\n }\n return this._paramMap;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ActivatedRouteSnapshot.prototype, \"queryParamMap\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this._queryParamMap) {\n this._queryParamMap = convertToParamMap(this.queryParams);\n }\n return this._queryParamMap;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n ActivatedRouteSnapshot.prototype.toString = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ url = this.url.map(function (segment) { return segment.toString(); }).join('/');\n var /** @type {?} */ matched = this.routeConfig ? this.routeConfig.path : '';\n return \"Route(url:'\" + url + \"', path:'\" + matched + \"')\";\n };\n return ActivatedRouteSnapshot;\n}());\n/**\n * \\@whatItDoes Represents the state of the router at a moment in time.\n *\n * \\@howToUse\n *\n * ```\n * \\@Component({templateUrl:'template.html'})\n * class MyComponent {\n * constructor(router: Router) {\n * const state: RouterState = router.routerState;\n * const snapshot: RouterStateSnapshot = state.snapshot;\n * const root: ActivatedRouteSnapshot = snapshot.root;\n * const child = root.firstChild;\n * const id: Observable = child.params.map(p => p.id);\n * //...\n * }\n * }\n * ```\n *\n * \\@description\n * RouterStateSnapshot is a tree of activated route snapshots. Every node in this tree knows about\n * the \"consumed\" URL segments, the extracted parameters, and the resolved data.\n *\n * \\@stable\n */\nvar RouterStateSnapshot = /** @class */ (function (_super) {\n __extends(RouterStateSnapshot, _super);\n /** @internal */\n function RouterStateSnapshot(url, root) {\n var _this = _super.call(this, root) || this;\n _this.url = url;\n setRouterState(/** @type {?} */ (_this), root);\n return _this;\n }\n /**\n * @return {?}\n */\n RouterStateSnapshot.prototype.toString = /**\n * @return {?}\n */\n function () { return serializeNode(this._root); };\n return RouterStateSnapshot;\n}(Tree));\n/**\n * @template U, T\n * @param {?} state\n * @param {?} node\n * @return {?}\n */\nfunction setRouterState(state, node) {\n node.value._routerState = state;\n node.children.forEach(function (c) { return setRouterState(state, c); });\n}\n/**\n * @param {?} node\n * @return {?}\n */\nfunction serializeNode(node) {\n var /** @type {?} */ c = node.children.length > 0 ? \" { \" + node.children.map(serializeNode).join(', ') + \" } \" : '';\n return \"\" + node.value + c;\n}\n/**\n * The expectation is that the activate route is created with the right set of parameters.\n * So we push new values into the observables only when they are not the initial values.\n * And we detect that by checking if the snapshot field is set.\n * @param {?} route\n * @return {?}\n */\nfunction advanceActivatedRoute(route) {\n if (route.snapshot) {\n var /** @type {?} */ currentSnapshot = route.snapshot;\n var /** @type {?} */ nextSnapshot = route._futureSnapshot;\n route.snapshot = nextSnapshot;\n if (!shallowEqual(currentSnapshot.queryParams, nextSnapshot.queryParams)) {\n (/** @type {?} */ (route.queryParams)).next(nextSnapshot.queryParams);\n }\n if (currentSnapshot.fragment !== nextSnapshot.fragment) {\n (/** @type {?} */ (route.fragment)).next(nextSnapshot.fragment);\n }\n if (!shallowEqual(currentSnapshot.params, nextSnapshot.params)) {\n (/** @type {?} */ (route.params)).next(nextSnapshot.params);\n }\n if (!shallowEqualArrays(currentSnapshot.url, nextSnapshot.url)) {\n (/** @type {?} */ (route.url)).next(nextSnapshot.url);\n }\n if (!shallowEqual(currentSnapshot.data, nextSnapshot.data)) {\n (/** @type {?} */ (route.data)).next(nextSnapshot.data);\n }\n }\n else {\n route.snapshot = route._futureSnapshot;\n // this is for resolved data\n (/** @type {?} */ (route.data)).next(route._futureSnapshot.data);\n }\n}\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction equalParamsAndUrlSegments(a, b) {\n var /** @type {?} */ equalUrlParams = shallowEqual(a.params, b.params) && equalSegments(a.url, b.url);\n var /** @type {?} */ parentsMismatch = !a.parent !== !b.parent;\n return equalUrlParams && !parentsMismatch &&\n (!a.parent || equalParamsAndUrlSegments(a.parent, /** @type {?} */ ((b.parent))));\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} routeReuseStrategy\n * @param {?} curr\n * @param {?} prevState\n * @return {?}\n */\nfunction createRouterState(routeReuseStrategy, curr, prevState) {\n var /** @type {?} */ root = createNode(routeReuseStrategy, curr._root, prevState ? prevState._root : undefined);\n return new RouterState(root, curr);\n}\n/**\n * @param {?} routeReuseStrategy\n * @param {?} curr\n * @param {?=} prevState\n * @return {?}\n */\nfunction createNode(routeReuseStrategy, curr, prevState) {\n // reuse an activated route that is currently displayed on the screen\n if (prevState && routeReuseStrategy.shouldReuseRoute(curr.value, prevState.value.snapshot)) {\n var /** @type {?} */ value = prevState.value;\n value._futureSnapshot = curr.value;\n var /** @type {?} */ children = createOrReuseChildren(routeReuseStrategy, curr, prevState);\n return new TreeNode(value, children);\n // retrieve an activated route that is used to be displayed, but is not currently displayed\n }\n else if (routeReuseStrategy.retrieve(curr.value)) {\n var /** @type {?} */ tree = (/** @type {?} */ (routeReuseStrategy.retrieve(curr.value))).route;\n setFutureSnapshotsOfActivatedRoutes(curr, tree);\n return tree;\n }\n else {\n var /** @type {?} */ value = createActivatedRoute(curr.value);\n var /** @type {?} */ children = curr.children.map(function (c) { return createNode(routeReuseStrategy, c); });\n return new TreeNode(value, children);\n }\n}\n/**\n * @param {?} curr\n * @param {?} result\n * @return {?}\n */\nfunction setFutureSnapshotsOfActivatedRoutes(curr, result) {\n if (curr.value.routeConfig !== result.value.routeConfig) {\n throw new Error('Cannot reattach ActivatedRouteSnapshot created from a different route');\n }\n if (curr.children.length !== result.children.length) {\n throw new Error('Cannot reattach ActivatedRouteSnapshot with a different number of children');\n }\n result.value._futureSnapshot = curr.value;\n for (var /** @type {?} */ i = 0; i < curr.children.length; ++i) {\n setFutureSnapshotsOfActivatedRoutes(curr.children[i], result.children[i]);\n }\n}\n/**\n * @param {?} routeReuseStrategy\n * @param {?} curr\n * @param {?} prevState\n * @return {?}\n */\nfunction createOrReuseChildren(routeReuseStrategy, curr, prevState) {\n return curr.children.map(function (child) {\n for (var _i = 0, _a = prevState.children; _i < _a.length; _i++) {\n var p = _a[_i];\n if (routeReuseStrategy.shouldReuseRoute(p.value.snapshot, child.value)) {\n return createNode(routeReuseStrategy, child, p);\n }\n }\n return createNode(routeReuseStrategy, child);\n });\n}\n/**\n * @param {?} c\n * @return {?}\n */\nfunction createActivatedRoute(c) {\n return new ActivatedRoute(new BehaviorSubject(c.url), new BehaviorSubject(c.params), new BehaviorSubject(c.queryParams), new BehaviorSubject(c.fragment), new BehaviorSubject(c.data), c.outlet, c.component, c);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} route\n * @param {?} urlTree\n * @param {?} commands\n * @param {?} queryParams\n * @param {?} fragment\n * @return {?}\n */\nfunction createUrlTree(route, urlTree, commands, queryParams, fragment) {\n if (commands.length === 0) {\n return tree(urlTree.root, urlTree.root, urlTree, queryParams, fragment);\n }\n var /** @type {?} */ nav = computeNavigation(commands);\n if (nav.toRoot()) {\n return tree(urlTree.root, new UrlSegmentGroup([], {}), urlTree, queryParams, fragment);\n }\n var /** @type {?} */ startingPosition = findStartingPosition(nav, urlTree, route);\n var /** @type {?} */ segmentGroup = startingPosition.processChildren ?\n updateSegmentGroupChildren(startingPosition.segmentGroup, startingPosition.index, nav.commands) :\n updateSegmentGroup(startingPosition.segmentGroup, startingPosition.index, nav.commands);\n return tree(startingPosition.segmentGroup, segmentGroup, urlTree, queryParams, fragment);\n}\n/**\n * @param {?} command\n * @return {?}\n */\nfunction isMatrixParams(command) {\n return typeof command === 'object' && command != null && !command.outlets && !command.segmentPath;\n}\n/**\n * @param {?} oldSegmentGroup\n * @param {?} newSegmentGroup\n * @param {?} urlTree\n * @param {?} queryParams\n * @param {?} fragment\n * @return {?}\n */\nfunction tree(oldSegmentGroup, newSegmentGroup, urlTree, queryParams, fragment) {\n var /** @type {?} */ qp = {};\n if (queryParams) {\n forEach(queryParams, function (value, name) {\n qp[name] = Array.isArray(value) ? value.map(function (v) { return \"\" + v; }) : \"\" + value;\n });\n }\n if (urlTree.root === oldSegmentGroup) {\n return new UrlTree(newSegmentGroup, qp, fragment);\n }\n return new UrlTree(replaceSegment(urlTree.root, oldSegmentGroup, newSegmentGroup), qp, fragment);\n}\n/**\n * @param {?} current\n * @param {?} oldSegment\n * @param {?} newSegment\n * @return {?}\n */\nfunction replaceSegment(current, oldSegment, newSegment) {\n var /** @type {?} */ children = {};\n forEach(current.children, function (c, outletName) {\n if (c === oldSegment) {\n children[outletName] = newSegment;\n }\n else {\n children[outletName] = replaceSegment(c, oldSegment, newSegment);\n }\n });\n return new UrlSegmentGroup(current.segments, children);\n}\nvar Navigation = /** @class */ (function () {\n function Navigation(isAbsolute, numberOfDoubleDots, commands) {\n this.isAbsolute = isAbsolute;\n this.numberOfDoubleDots = numberOfDoubleDots;\n this.commands = commands;\n if (isAbsolute && commands.length > 0 && isMatrixParams(commands[0])) {\n throw new Error('Root segment cannot have matrix parameters');\n }\n var /** @type {?} */ cmdWithOutlet = commands.find(function (c) { return typeof c === 'object' && c != null && c.outlets; });\n if (cmdWithOutlet && cmdWithOutlet !== last$1(commands)) {\n throw new Error('{outlets:{}} has to be the last command');\n }\n }\n /**\n * @return {?}\n */\n Navigation.prototype.toRoot = /**\n * @return {?}\n */\n function () {\n return this.isAbsolute && this.commands.length === 1 && this.commands[0] == '/';\n };\n return Navigation;\n}());\n/**\n * Transforms commands to a normalized `Navigation`\n * @param {?} commands\n * @return {?}\n */\nfunction computeNavigation(commands) {\n if ((typeof commands[0] === 'string') && commands.length === 1 && commands[0] === '/') {\n return new Navigation(true, 0, commands);\n }\n var /** @type {?} */ numberOfDoubleDots = 0;\n var /** @type {?} */ isAbsolute = false;\n var /** @type {?} */ res = commands.reduce(function (res, cmd, cmdIdx) {\n if (typeof cmd === 'object' && cmd != null) {\n if (cmd.outlets) {\n var /** @type {?} */ outlets_1 = {};\n forEach(cmd.outlets, function (commands, name) {\n outlets_1[name] = typeof commands === 'string' ? commands.split('/') : commands;\n });\n return res.concat([{ outlets: outlets_1 }]);\n }\n if (cmd.segmentPath) {\n return res.concat([cmd.segmentPath]);\n }\n }\n if (!(typeof cmd === 'string')) {\n return res.concat([cmd]);\n }\n if (cmdIdx === 0) {\n cmd.split('/').forEach(function (urlPart, partIndex) {\n if (partIndex == 0 && urlPart === '.') {\n // skip './a'\n }\n else if (partIndex == 0 && urlPart === '') {\n // '/a'\n isAbsolute = true;\n }\n else if (urlPart === '..') {\n // '../a'\n numberOfDoubleDots++;\n }\n else if (urlPart != '') {\n res.push(urlPart);\n }\n });\n return res;\n }\n return res.concat([cmd]);\n }, []);\n return new Navigation(isAbsolute, numberOfDoubleDots, res);\n}\nvar Position = /** @class */ (function () {\n function Position(segmentGroup, processChildren, index) {\n this.segmentGroup = segmentGroup;\n this.processChildren = processChildren;\n this.index = index;\n }\n return Position;\n}());\n/**\n * @param {?} nav\n * @param {?} tree\n * @param {?} route\n * @return {?}\n */\nfunction findStartingPosition(nav, tree, route) {\n if (nav.isAbsolute) {\n return new Position(tree.root, true, 0);\n }\n if (route.snapshot._lastPathIndex === -1) {\n return new Position(route.snapshot._urlSegment, true, 0);\n }\n var /** @type {?} */ modifier = isMatrixParams(nav.commands[0]) ? 0 : 1;\n var /** @type {?} */ index = route.snapshot._lastPathIndex + modifier;\n return createPositionApplyingDoubleDots(route.snapshot._urlSegment, index, nav.numberOfDoubleDots);\n}\n/**\n * @param {?} group\n * @param {?} index\n * @param {?} numberOfDoubleDots\n * @return {?}\n */\nfunction createPositionApplyingDoubleDots(group, index, numberOfDoubleDots) {\n var /** @type {?} */ g = group;\n var /** @type {?} */ ci = index;\n var /** @type {?} */ dd = numberOfDoubleDots;\n while (dd > ci) {\n dd -= ci;\n g = /** @type {?} */ ((g.parent));\n if (!g) {\n throw new Error('Invalid number of \\'../\\'');\n }\n ci = g.segments.length;\n }\n return new Position(g, false, ci - dd);\n}\n/**\n * @param {?} command\n * @return {?}\n */\nfunction getPath(command) {\n if (typeof command === 'object' && command != null && command.outlets) {\n return command.outlets[PRIMARY_OUTLET];\n }\n return \"\" + command;\n}\n/**\n * @param {?} commands\n * @return {?}\n */\nfunction getOutlets(commands) {\n if (!(typeof commands[0] === 'object'))\n return _a = {}, _a[PRIMARY_OUTLET] = commands, _a;\n if (commands[0].outlets === undefined)\n return _b = {}, _b[PRIMARY_OUTLET] = commands, _b;\n return commands[0].outlets;\n var _a, _b;\n}\n/**\n * @param {?} segmentGroup\n * @param {?} startIndex\n * @param {?} commands\n * @return {?}\n */\nfunction updateSegmentGroup(segmentGroup, startIndex, commands) {\n if (!segmentGroup) {\n segmentGroup = new UrlSegmentGroup([], {});\n }\n if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n return updateSegmentGroupChildren(segmentGroup, startIndex, commands);\n }\n var /** @type {?} */ m = prefixedWith(segmentGroup, startIndex, commands);\n var /** @type {?} */ slicedCommands = commands.slice(m.commandIndex);\n if (m.match && m.pathIndex < segmentGroup.segments.length) {\n var /** @type {?} */ g = new UrlSegmentGroup(segmentGroup.segments.slice(0, m.pathIndex), {});\n g.children[PRIMARY_OUTLET] =\n new UrlSegmentGroup(segmentGroup.segments.slice(m.pathIndex), segmentGroup.children);\n return updateSegmentGroupChildren(g, 0, slicedCommands);\n }\n else if (m.match && slicedCommands.length === 0) {\n return new UrlSegmentGroup(segmentGroup.segments, {});\n }\n else if (m.match && !segmentGroup.hasChildren()) {\n return createNewSegmentGroup(segmentGroup, startIndex, commands);\n }\n else if (m.match) {\n return updateSegmentGroupChildren(segmentGroup, 0, slicedCommands);\n }\n else {\n return createNewSegmentGroup(segmentGroup, startIndex, commands);\n }\n}\n/**\n * @param {?} segmentGroup\n * @param {?} startIndex\n * @param {?} commands\n * @return {?}\n */\nfunction updateSegmentGroupChildren(segmentGroup, startIndex, commands) {\n if (commands.length === 0) {\n return new UrlSegmentGroup(segmentGroup.segments, {});\n }\n else {\n var /** @type {?} */ outlets_2 = getOutlets(commands);\n var /** @type {?} */ children_1 = {};\n forEach(outlets_2, function (commands, outlet) {\n if (commands !== null) {\n children_1[outlet] = updateSegmentGroup(segmentGroup.children[outlet], startIndex, commands);\n }\n });\n forEach(segmentGroup.children, function (child, childOutlet) {\n if (outlets_2[childOutlet] === undefined) {\n children_1[childOutlet] = child;\n }\n });\n return new UrlSegmentGroup(segmentGroup.segments, children_1);\n }\n}\n/**\n * @param {?} segmentGroup\n * @param {?} startIndex\n * @param {?} commands\n * @return {?}\n */\nfunction prefixedWith(segmentGroup, startIndex, commands) {\n var /** @type {?} */ currentCommandIndex = 0;\n var /** @type {?} */ currentPathIndex = startIndex;\n var /** @type {?} */ noMatch = { match: false, pathIndex: 0, commandIndex: 0 };\n while (currentPathIndex < segmentGroup.segments.length) {\n if (currentCommandIndex >= commands.length)\n return noMatch;\n var /** @type {?} */ path = segmentGroup.segments[currentPathIndex];\n var /** @type {?} */ curr = getPath(commands[currentCommandIndex]);\n var /** @type {?} */ next = currentCommandIndex < commands.length - 1 ? commands[currentCommandIndex + 1] : null;\n if (currentPathIndex > 0 && curr === undefined)\n break;\n if (curr && next && (typeof next === 'object') && next.outlets === undefined) {\n if (!compare(curr, next, path))\n return noMatch;\n currentCommandIndex += 2;\n }\n else {\n if (!compare(curr, {}, path))\n return noMatch;\n currentCommandIndex++;\n }\n currentPathIndex++;\n }\n return { match: true, pathIndex: currentPathIndex, commandIndex: currentCommandIndex };\n}\n/**\n * @param {?} segmentGroup\n * @param {?} startIndex\n * @param {?} commands\n * @return {?}\n */\nfunction createNewSegmentGroup(segmentGroup, startIndex, commands) {\n var /** @type {?} */ paths = segmentGroup.segments.slice(0, startIndex);\n var /** @type {?} */ i = 0;\n while (i < commands.length) {\n if (typeof commands[i] === 'object' && commands[i].outlets !== undefined) {\n var /** @type {?} */ children = createNewSegmentChildren(commands[i].outlets);\n return new UrlSegmentGroup(paths, children);\n }\n // if we start with an object literal, we need to reuse the path part from the segment\n if (i === 0 && isMatrixParams(commands[0])) {\n var /** @type {?} */ p = segmentGroup.segments[startIndex];\n paths.push(new UrlSegment(p.path, commands[0]));\n i++;\n continue;\n }\n var /** @type {?} */ curr = getPath(commands[i]);\n var /** @type {?} */ next = (i < commands.length - 1) ? commands[i + 1] : null;\n if (curr && next && isMatrixParams(next)) {\n paths.push(new UrlSegment(curr, stringify(next)));\n i += 2;\n }\n else {\n paths.push(new UrlSegment(curr, {}));\n i++;\n }\n }\n return new UrlSegmentGroup(paths, {});\n}\n/**\n * @param {?} outlets\n * @return {?}\n */\nfunction createNewSegmentChildren(outlets) {\n var /** @type {?} */ children = {};\n forEach(outlets, function (commands, outlet) {\n if (commands !== null) {\n children[outlet] = createNewSegmentGroup(new UrlSegmentGroup([], {}), 0, commands);\n }\n });\n return children;\n}\n/**\n * @param {?} params\n * @return {?}\n */\nfunction stringify(params) {\n var /** @type {?} */ res = {};\n forEach(params, function (v, k) { return res[k] = \"\" + v; });\n return res;\n}\n/**\n * @param {?} path\n * @param {?} params\n * @param {?} segment\n * @return {?}\n */\nfunction compare(path, params, segment) {\n return path == segment.path && shallowEqual(params, segment.parameters);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar CanActivate = /** @class */ (function () {\n function CanActivate(path) {\n this.path = path;\n this.route = this.path[this.path.length - 1];\n }\n return CanActivate;\n}());\nvar CanDeactivate = /** @class */ (function () {\n function CanDeactivate(component, route) {\n this.component = component;\n this.route = route;\n }\n return CanDeactivate;\n}());\n/**\n * This class bundles the actions involved in preactivation of a route.\n */\nvar PreActivation = /** @class */ (function () {\n function PreActivation(future, curr, moduleInjector, forwardEvent) {\n this.future = future;\n this.curr = curr;\n this.moduleInjector = moduleInjector;\n this.forwardEvent = forwardEvent;\n this.canActivateChecks = [];\n this.canDeactivateChecks = [];\n }\n /**\n * @param {?} parentContexts\n * @return {?}\n */\n PreActivation.prototype.initialize = /**\n * @param {?} parentContexts\n * @return {?}\n */\n function (parentContexts) {\n var /** @type {?} */ futureRoot = this.future._root;\n var /** @type {?} */ currRoot = this.curr ? this.curr._root : null;\n this.setupChildRouteGuards(futureRoot, currRoot, parentContexts, [futureRoot.value]);\n };\n /**\n * @return {?}\n */\n PreActivation.prototype.checkGuards = /**\n * @return {?}\n */\n function () {\n var _this = this;\n if (!this.isDeactivating() && !this.isActivating()) {\n return of(true);\n }\n var /** @type {?} */ canDeactivate$ = this.runCanDeactivateChecks();\n return mergeMap.call(canDeactivate$, function (canDeactivate) { return canDeactivate ? _this.runCanActivateChecks() : of(false); });\n };\n /**\n * @param {?} paramsInheritanceStrategy\n * @return {?}\n */\n PreActivation.prototype.resolveData = /**\n * @param {?} paramsInheritanceStrategy\n * @return {?}\n */\n function (paramsInheritanceStrategy) {\n var _this = this;\n if (!this.isActivating())\n return of(null);\n var /** @type {?} */ checks$ = from(this.canActivateChecks);\n var /** @type {?} */ runningChecks$ = concatMap.call(checks$, function (check) { return _this.runResolve(check.route, paramsInheritanceStrategy); });\n return reduce.call(runningChecks$, function (_, __) { return _; });\n };\n /**\n * @return {?}\n */\n PreActivation.prototype.isDeactivating = /**\n * @return {?}\n */\n function () { return this.canDeactivateChecks.length !== 0; };\n /**\n * @return {?}\n */\n PreActivation.prototype.isActivating = /**\n * @return {?}\n */\n function () { return this.canActivateChecks.length !== 0; };\n /**\n * Iterates over child routes and calls recursive `setupRouteGuards` to get `this` instance in\n * proper state to run `checkGuards()` method.\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} contexts\n * @param {?} futurePath\n * @return {?}\n */\n PreActivation.prototype.setupChildRouteGuards = /**\n * Iterates over child routes and calls recursive `setupRouteGuards` to get `this` instance in\n * proper state to run `checkGuards()` method.\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} contexts\n * @param {?} futurePath\n * @return {?}\n */\n function (futureNode, currNode, contexts, futurePath) {\n var _this = this;\n var /** @type {?} */ prevChildren = nodeChildrenAsMap(currNode);\n // Process the children of the future route\n futureNode.children.forEach(function (c) {\n _this.setupRouteGuards(c, prevChildren[c.value.outlet], contexts, futurePath.concat([c.value]));\n delete prevChildren[c.value.outlet];\n });\n // Process any children left from the current route (not active for the future route)\n forEach(prevChildren, function (v, k) {\n return _this.deactivateRouteAndItsChildren(v, /** @type {?} */ ((contexts)).getContext(k));\n });\n };\n /**\n * Iterates over child routes and calls recursive `setupRouteGuards` to get `this` instance in\n * proper state to run `checkGuards()` method.\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} parentContexts\n * @param {?} futurePath\n * @return {?}\n */\n PreActivation.prototype.setupRouteGuards = /**\n * Iterates over child routes and calls recursive `setupRouteGuards` to get `this` instance in\n * proper state to run `checkGuards()` method.\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} parentContexts\n * @param {?} futurePath\n * @return {?}\n */\n function (futureNode, currNode, parentContexts, futurePath) {\n var /** @type {?} */ future = futureNode.value;\n var /** @type {?} */ curr = currNode ? currNode.value : null;\n var /** @type {?} */ context = parentContexts ? parentContexts.getContext(futureNode.value.outlet) : null;\n // reusing the node\n if (curr && future.routeConfig === curr.routeConfig) {\n var /** @type {?} */ shouldRunGuardsAndResolvers = this.shouldRunGuardsAndResolvers(curr, future, /** @type {?} */ ((future.routeConfig)).runGuardsAndResolvers);\n if (shouldRunGuardsAndResolvers) {\n this.canActivateChecks.push(new CanActivate(futurePath));\n }\n else {\n // we need to set the data\n future.data = curr.data;\n future._resolvedData = curr._resolvedData;\n }\n // If we have a component, we need to go through an outlet.\n if (future.component) {\n this.setupChildRouteGuards(futureNode, currNode, context ? context.children : null, futurePath);\n // if we have a componentless route, we recurse but keep the same outlet map.\n }\n else {\n this.setupChildRouteGuards(futureNode, currNode, parentContexts, futurePath);\n }\n if (shouldRunGuardsAndResolvers) {\n var /** @type {?} */ outlet = /** @type {?} */ ((/** @type {?} */ ((context)).outlet));\n this.canDeactivateChecks.push(new CanDeactivate(outlet.component, curr));\n }\n }\n else {\n if (curr) {\n this.deactivateRouteAndItsChildren(currNode, context);\n }\n this.canActivateChecks.push(new CanActivate(futurePath));\n // If we have a component, we need to go through an outlet.\n if (future.component) {\n this.setupChildRouteGuards(futureNode, null, context ? context.children : null, futurePath);\n // if we have a componentless route, we recurse but keep the same outlet map.\n }\n else {\n this.setupChildRouteGuards(futureNode, null, parentContexts, futurePath);\n }\n }\n };\n /**\n * @param {?} curr\n * @param {?} future\n * @param {?} mode\n * @return {?}\n */\n PreActivation.prototype.shouldRunGuardsAndResolvers = /**\n * @param {?} curr\n * @param {?} future\n * @param {?} mode\n * @return {?}\n */\n function (curr, future, mode) {\n switch (mode) {\n case 'always':\n return true;\n case 'paramsOrQueryParamsChange':\n return !equalParamsAndUrlSegments(curr, future) ||\n !shallowEqual(curr.queryParams, future.queryParams);\n case 'paramsChange':\n default:\n return !equalParamsAndUrlSegments(curr, future);\n }\n };\n /**\n * @param {?} route\n * @param {?} context\n * @return {?}\n */\n PreActivation.prototype.deactivateRouteAndItsChildren = /**\n * @param {?} route\n * @param {?} context\n * @return {?}\n */\n function (route, context) {\n var _this = this;\n var /** @type {?} */ children = nodeChildrenAsMap(route);\n var /** @type {?} */ r = route.value;\n forEach(children, function (node, childName) {\n if (!r.component) {\n _this.deactivateRouteAndItsChildren(node, context);\n }\n else if (context) {\n _this.deactivateRouteAndItsChildren(node, context.children.getContext(childName));\n }\n else {\n _this.deactivateRouteAndItsChildren(node, null);\n }\n });\n if (!r.component) {\n this.canDeactivateChecks.push(new CanDeactivate(null, r));\n }\n else if (context && context.outlet && context.outlet.isActivated) {\n this.canDeactivateChecks.push(new CanDeactivate(context.outlet.component, r));\n }\n else {\n this.canDeactivateChecks.push(new CanDeactivate(null, r));\n }\n };\n /**\n * @return {?}\n */\n PreActivation.prototype.runCanDeactivateChecks = /**\n * @return {?}\n */\n function () {\n var _this = this;\n var /** @type {?} */ checks$ = from(this.canDeactivateChecks);\n var /** @type {?} */ runningChecks$ = mergeMap.call(checks$, function (check) { return _this.runCanDeactivate(check.component, check.route); });\n return every.call(runningChecks$, function (result) { return result === true; });\n };\n /**\n * @return {?}\n */\n PreActivation.prototype.runCanActivateChecks = /**\n * @return {?}\n */\n function () {\n var _this = this;\n var /** @type {?} */ checks$ = from(this.canActivateChecks);\n var /** @type {?} */ runningChecks$ = concatMap.call(checks$, function (check) {\n return andObservables(from([\n _this.fireChildActivationStart(check.route.parent), _this.fireActivationStart(check.route),\n _this.runCanActivateChild(check.path), _this.runCanActivate(check.route)\n ]));\n });\n return every.call(runningChecks$, function (result) { return result === true; });\n // this.fireChildActivationStart(check.path),\n };\n /**\n * This should fire off `ActivationStart` events for each route being activated at this\n * level.\n * In other words, if you're activating `a` and `b` below, `path` will contain the\n * `ActivatedRouteSnapshot`s for both and we will fire `ActivationStart` for both. Always\n * return\n * `true` so checks continue to run.\n * @param {?} snapshot\n * @return {?}\n */\n PreActivation.prototype.fireActivationStart = /**\n * This should fire off `ActivationStart` events for each route being activated at this\n * level.\n * In other words, if you're activating `a` and `b` below, `path` will contain the\n * `ActivatedRouteSnapshot`s for both and we will fire `ActivationStart` for both. Always\n * return\n * `true` so checks continue to run.\n * @param {?} snapshot\n * @return {?}\n */\n function (snapshot) {\n if (snapshot !== null && this.forwardEvent) {\n this.forwardEvent(new ActivationStart(snapshot));\n }\n return of(true);\n };\n /**\n * This should fire off `ChildActivationStart` events for each route being activated at this\n * level.\n * In other words, if you're activating `a` and `b` below, `path` will contain the\n * `ActivatedRouteSnapshot`s for both and we will fire `ChildActivationStart` for both. Always\n * return\n * `true` so checks continue to run.\n * @param {?} snapshot\n * @return {?}\n */\n PreActivation.prototype.fireChildActivationStart = /**\n * This should fire off `ChildActivationStart` events for each route being activated at this\n * level.\n * In other words, if you're activating `a` and `b` below, `path` will contain the\n * `ActivatedRouteSnapshot`s for both and we will fire `ChildActivationStart` for both. Always\n * return\n * `true` so checks continue to run.\n * @param {?} snapshot\n * @return {?}\n */\n function (snapshot) {\n if (snapshot !== null && this.forwardEvent) {\n this.forwardEvent(new ChildActivationStart(snapshot));\n }\n return of(true);\n };\n /**\n * @param {?} future\n * @return {?}\n */\n PreActivation.prototype.runCanActivate = /**\n * @param {?} future\n * @return {?}\n */\n function (future) {\n var _this = this;\n var /** @type {?} */ canActivate = future.routeConfig ? future.routeConfig.canActivate : null;\n if (!canActivate || canActivate.length === 0)\n return of(true);\n var /** @type {?} */ obs = map.call(from(canActivate), function (c) {\n var /** @type {?} */ guard = _this.getToken(c, future);\n var /** @type {?} */ observable;\n if (guard.canActivate) {\n observable = wrapIntoObservable(guard.canActivate(future, _this.future));\n }\n else {\n observable = wrapIntoObservable(guard(future, _this.future));\n }\n return first.call(observable);\n });\n return andObservables(obs);\n };\n /**\n * @param {?} path\n * @return {?}\n */\n PreActivation.prototype.runCanActivateChild = /**\n * @param {?} path\n * @return {?}\n */\n function (path) {\n var _this = this;\n var /** @type {?} */ future = path[path.length - 1];\n var /** @type {?} */ canActivateChildGuards = path.slice(0, path.length - 1)\n .reverse()\n .map(function (p) { return _this.extractCanActivateChild(p); })\n .filter(function (_) { return _ !== null; });\n return andObservables(map.call(from(canActivateChildGuards), function (d) {\n var /** @type {?} */ obs = map.call(from(d.guards), function (c) {\n var /** @type {?} */ guard = _this.getToken(c, d.node);\n var /** @type {?} */ observable;\n if (guard.canActivateChild) {\n observable = wrapIntoObservable(guard.canActivateChild(future, _this.future));\n }\n else {\n observable = wrapIntoObservable(guard(future, _this.future));\n }\n return first.call(observable);\n });\n return andObservables(obs);\n }));\n };\n /**\n * @param {?} p\n * @return {?}\n */\n PreActivation.prototype.extractCanActivateChild = /**\n * @param {?} p\n * @return {?}\n */\n function (p) {\n var /** @type {?} */ canActivateChild = p.routeConfig ? p.routeConfig.canActivateChild : null;\n if (!canActivateChild || canActivateChild.length === 0)\n return null;\n return { node: p, guards: canActivateChild };\n };\n /**\n * @param {?} component\n * @param {?} curr\n * @return {?}\n */\n PreActivation.prototype.runCanDeactivate = /**\n * @param {?} component\n * @param {?} curr\n * @return {?}\n */\n function (component, curr) {\n var _this = this;\n var /** @type {?} */ canDeactivate = curr && curr.routeConfig ? curr.routeConfig.canDeactivate : null;\n if (!canDeactivate || canDeactivate.length === 0)\n return of(true);\n var /** @type {?} */ canDeactivate$ = mergeMap.call(from(canDeactivate), function (c) {\n var /** @type {?} */ guard = _this.getToken(c, curr);\n var /** @type {?} */ observable;\n if (guard.canDeactivate) {\n observable =\n wrapIntoObservable(guard.canDeactivate(component, curr, _this.curr, _this.future));\n }\n else {\n observable = wrapIntoObservable(guard(component, curr, _this.curr, _this.future));\n }\n return first.call(observable);\n });\n return every.call(canDeactivate$, function (result) { return result === true; });\n };\n /**\n * @param {?} future\n * @param {?} paramsInheritanceStrategy\n * @return {?}\n */\n PreActivation.prototype.runResolve = /**\n * @param {?} future\n * @param {?} paramsInheritanceStrategy\n * @return {?}\n */\n function (future, paramsInheritanceStrategy) {\n var /** @type {?} */ resolve = future._resolve;\n return map.call(this.resolveNode(resolve, future), function (resolvedData) {\n future._resolvedData = resolvedData;\n future.data = __assign({}, future.data, inheritedParamsDataResolve(future, paramsInheritanceStrategy).resolve);\n return null;\n });\n };\n /**\n * @param {?} resolve\n * @param {?} future\n * @return {?}\n */\n PreActivation.prototype.resolveNode = /**\n * @param {?} resolve\n * @param {?} future\n * @return {?}\n */\n function (resolve, future) {\n var _this = this;\n var /** @type {?} */ keys = Object.keys(resolve);\n if (keys.length === 0) {\n return of({});\n }\n if (keys.length === 1) {\n var /** @type {?} */ key_1 = keys[0];\n return map.call(this.getResolver(resolve[key_1], future), function (value) {\n return _a = {}, _a[key_1] = value, _a;\n var _a;\n });\n }\n var /** @type {?} */ data = {};\n var /** @type {?} */ runningResolvers$ = mergeMap.call(from(keys), function (key) {\n return map.call(_this.getResolver(resolve[key], future), function (value) {\n data[key] = value;\n return value;\n });\n });\n return map.call(last.call(runningResolvers$), function () { return data; });\n };\n /**\n * @param {?} injectionToken\n * @param {?} future\n * @return {?}\n */\n PreActivation.prototype.getResolver = /**\n * @param {?} injectionToken\n * @param {?} future\n * @return {?}\n */\n function (injectionToken, future) {\n var /** @type {?} */ resolver = this.getToken(injectionToken, future);\n return resolver.resolve ? wrapIntoObservable(resolver.resolve(future, this.future)) :\n wrapIntoObservable(resolver(future, this.future));\n };\n /**\n * @param {?} token\n * @param {?} snapshot\n * @return {?}\n */\n PreActivation.prototype.getToken = /**\n * @param {?} token\n * @param {?} snapshot\n * @return {?}\n */\n function (token, snapshot) {\n var /** @type {?} */ config = closestLoadedConfig(snapshot);\n var /** @type {?} */ injector = config ? config.module.injector : this.moduleInjector;\n return injector.get(token);\n };\n return PreActivation;\n}());\n/**\n * @param {?} snapshot\n * @return {?}\n */\nfunction closestLoadedConfig(snapshot) {\n if (!snapshot)\n return null;\n for (var /** @type {?} */ s = snapshot.parent; s; s = s.parent) {\n var /** @type {?} */ route = s.routeConfig;\n if (route && route._loadedConfig)\n return route._loadedConfig;\n }\n return null;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar NoMatch$1 = /** @class */ (function () {\n function NoMatch() {\n }\n return NoMatch;\n}());\n/**\n * @param {?} rootComponentType\n * @param {?} config\n * @param {?} urlTree\n * @param {?} url\n * @param {?=} paramsInheritanceStrategy\n * @return {?}\n */\nfunction recognize(rootComponentType, config, urlTree, url, paramsInheritanceStrategy) {\n if (paramsInheritanceStrategy === void 0) { paramsInheritanceStrategy = 'emptyOnly'; }\n return new Recognizer(rootComponentType, config, urlTree, url, paramsInheritanceStrategy)\n .recognize();\n}\nvar Recognizer = /** @class */ (function () {\n function Recognizer(rootComponentType, config, urlTree, url, paramsInheritanceStrategy) {\n this.rootComponentType = rootComponentType;\n this.config = config;\n this.urlTree = urlTree;\n this.url = url;\n this.paramsInheritanceStrategy = paramsInheritanceStrategy;\n }\n /**\n * @return {?}\n */\n Recognizer.prototype.recognize = /**\n * @return {?}\n */\n function () {\n try {\n var /** @type {?} */ rootSegmentGroup = split$1(this.urlTree.root, [], [], this.config).segmentGroup;\n var /** @type {?} */ children = this.processSegmentGroup(this.config, rootSegmentGroup, PRIMARY_OUTLET);\n var /** @type {?} */ root = new ActivatedRouteSnapshot([], Object.freeze({}), Object.freeze(this.urlTree.queryParams), /** @type {?} */ ((this.urlTree.fragment)), {}, PRIMARY_OUTLET, this.rootComponentType, null, this.urlTree.root, -1, {});\n var /** @type {?} */ rootNode = new TreeNode(root, children);\n var /** @type {?} */ routeState = new RouterStateSnapshot(this.url, rootNode);\n this.inheritParamsAndData(routeState._root);\n return of(routeState);\n }\n catch (/** @type {?} */ e) {\n return new Observable(function (obs) { return obs.error(e); });\n }\n };\n /**\n * @param {?} routeNode\n * @return {?}\n */\n Recognizer.prototype.inheritParamsAndData = /**\n * @param {?} routeNode\n * @return {?}\n */\n function (routeNode) {\n var _this = this;\n var /** @type {?} */ route = routeNode.value;\n var /** @type {?} */ i = inheritedParamsDataResolve(route, this.paramsInheritanceStrategy);\n route.params = Object.freeze(i.params);\n route.data = Object.freeze(i.data);\n routeNode.children.forEach(function (n) { return _this.inheritParamsAndData(n); });\n };\n /**\n * @param {?} config\n * @param {?} segmentGroup\n * @param {?} outlet\n * @return {?}\n */\n Recognizer.prototype.processSegmentGroup = /**\n * @param {?} config\n * @param {?} segmentGroup\n * @param {?} outlet\n * @return {?}\n */\n function (config, segmentGroup, outlet) {\n if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {\n return this.processChildren(config, segmentGroup);\n }\n return this.processSegment(config, segmentGroup, segmentGroup.segments, outlet);\n };\n /**\n * @param {?} config\n * @param {?} segmentGroup\n * @return {?}\n */\n Recognizer.prototype.processChildren = /**\n * @param {?} config\n * @param {?} segmentGroup\n * @return {?}\n */\n function (config, segmentGroup) {\n var _this = this;\n var /** @type {?} */ children = mapChildrenIntoArray(segmentGroup, function (child, childOutlet) { return _this.processSegmentGroup(config, child, childOutlet); });\n checkOutletNameUniqueness(children);\n sortActivatedRouteSnapshots(children);\n return children;\n };\n /**\n * @param {?} config\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n Recognizer.prototype.processSegment = /**\n * @param {?} config\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n function (config, segmentGroup, segments, outlet) {\n for (var _i = 0, config_1 = config; _i < config_1.length; _i++) {\n var r = config_1[_i];\n try {\n return this.processSegmentAgainstRoute(r, segmentGroup, segments, outlet);\n }\n catch (/** @type {?} */ e) {\n if (!(e instanceof NoMatch$1))\n throw e;\n }\n }\n if (this.noLeftoversInUrl(segmentGroup, segments, outlet)) {\n return [];\n }\n throw new NoMatch$1();\n };\n /**\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n Recognizer.prototype.noLeftoversInUrl = /**\n * @param {?} segmentGroup\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n function (segmentGroup, segments, outlet) {\n return segments.length === 0 && !segmentGroup.children[outlet];\n };\n /**\n * @param {?} route\n * @param {?} rawSegment\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n Recognizer.prototype.processSegmentAgainstRoute = /**\n * @param {?} route\n * @param {?} rawSegment\n * @param {?} segments\n * @param {?} outlet\n * @return {?}\n */\n function (route, rawSegment, segments, outlet) {\n if (route.redirectTo)\n throw new NoMatch$1();\n if ((route.outlet || PRIMARY_OUTLET) !== outlet)\n throw new NoMatch$1();\n var /** @type {?} */ snapshot;\n var /** @type {?} */ consumedSegments = [];\n var /** @type {?} */ rawSlicedSegments = [];\n if (route.path === '**') {\n var /** @type {?} */ params = segments.length > 0 ? /** @type {?} */ ((last$1(segments))).parameters : {};\n snapshot = new ActivatedRouteSnapshot(segments, params, Object.freeze(this.urlTree.queryParams), /** @type {?} */ ((this.urlTree.fragment)), getData(route), outlet, /** @type {?} */ ((route.component)), route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + segments.length, getResolve(route));\n }\n else {\n var /** @type {?} */ result = match$1(rawSegment, route, segments);\n consumedSegments = result.consumedSegments;\n rawSlicedSegments = segments.slice(result.lastChild);\n snapshot = new ActivatedRouteSnapshot(consumedSegments, result.parameters, Object.freeze(this.urlTree.queryParams), /** @type {?} */ ((this.urlTree.fragment)), getData(route), outlet, /** @type {?} */ ((route.component)), route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + consumedSegments.length, getResolve(route));\n }\n var /** @type {?} */ childConfig = getChildConfig(route);\n var _a = split$1(rawSegment, consumedSegments, rawSlicedSegments, childConfig), segmentGroup = _a.segmentGroup, slicedSegments = _a.slicedSegments;\n if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {\n var /** @type {?} */ children_1 = this.processChildren(childConfig, segmentGroup);\n return [new TreeNode(snapshot, children_1)];\n }\n if (childConfig.length === 0 && slicedSegments.length === 0) {\n return [new TreeNode(snapshot, [])];\n }\n var /** @type {?} */ children = this.processSegment(childConfig, segmentGroup, slicedSegments, PRIMARY_OUTLET);\n return [new TreeNode(snapshot, children)];\n };\n return Recognizer;\n}());\n/**\n * @param {?} nodes\n * @return {?}\n */\nfunction sortActivatedRouteSnapshots(nodes) {\n nodes.sort(function (a, b) {\n if (a.value.outlet === PRIMARY_OUTLET)\n return -1;\n if (b.value.outlet === PRIMARY_OUTLET)\n return 1;\n return a.value.outlet.localeCompare(b.value.outlet);\n });\n}\n/**\n * @param {?} route\n * @return {?}\n */\nfunction getChildConfig(route) {\n if (route.children) {\n return route.children;\n }\n if (route.loadChildren) {\n return /** @type {?} */ ((route._loadedConfig)).routes;\n }\n return [];\n}\n/**\n * @param {?} segmentGroup\n * @param {?} route\n * @param {?} segments\n * @return {?}\n */\nfunction match$1(segmentGroup, route, segments) {\n if (route.path === '') {\n if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || segments.length > 0)) {\n throw new NoMatch$1();\n }\n return { consumedSegments: [], lastChild: 0, parameters: {} };\n }\n var /** @type {?} */ matcher = route.matcher || defaultUrlMatcher;\n var /** @type {?} */ res = matcher(segments, segmentGroup, route);\n if (!res)\n throw new NoMatch$1();\n var /** @type {?} */ posParams = {};\n forEach(/** @type {?} */ ((res.posParams)), function (v, k) { posParams[k] = v.path; });\n var /** @type {?} */ parameters = res.consumed.length > 0 ? __assign({}, posParams, res.consumed[res.consumed.length - 1].parameters) :\n posParams;\n return { consumedSegments: res.consumed, lastChild: res.consumed.length, parameters: parameters };\n}\n/**\n * @param {?} nodes\n * @return {?}\n */\nfunction checkOutletNameUniqueness(nodes) {\n var /** @type {?} */ names = {};\n nodes.forEach(function (n) {\n var /** @type {?} */ routeWithSameOutletName = names[n.value.outlet];\n if (routeWithSameOutletName) {\n var /** @type {?} */ p = routeWithSameOutletName.url.map(function (s) { return s.toString(); }).join('/');\n var /** @type {?} */ c = n.value.url.map(function (s) { return s.toString(); }).join('/');\n throw new Error(\"Two segments cannot have the same outlet name: '\" + p + \"' and '\" + c + \"'.\");\n }\n names[n.value.outlet] = n.value;\n });\n}\n/**\n * @param {?} segmentGroup\n * @return {?}\n */\nfunction getSourceSegmentGroup(segmentGroup) {\n var /** @type {?} */ s = segmentGroup;\n while (s._sourceSegment) {\n s = s._sourceSegment;\n }\n return s;\n}\n/**\n * @param {?} segmentGroup\n * @return {?}\n */\nfunction getPathIndexShift(segmentGroup) {\n var /** @type {?} */ s = segmentGroup;\n var /** @type {?} */ res = (s._segmentIndexShift ? s._segmentIndexShift : 0);\n while (s._sourceSegment) {\n s = s._sourceSegment;\n res += (s._segmentIndexShift ? s._segmentIndexShift : 0);\n }\n return res - 1;\n}\n/**\n * @param {?} segmentGroup\n * @param {?} consumedSegments\n * @param {?} slicedSegments\n * @param {?} config\n * @return {?}\n */\nfunction split$1(segmentGroup, consumedSegments, slicedSegments, config) {\n if (slicedSegments.length > 0 &&\n containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, config)) {\n var /** @type {?} */ s_1 = new UrlSegmentGroup(consumedSegments, createChildrenForEmptyPaths(segmentGroup, consumedSegments, config, new UrlSegmentGroup(slicedSegments, segmentGroup.children)));\n s_1._sourceSegment = segmentGroup;\n s_1._segmentIndexShift = consumedSegments.length;\n return { segmentGroup: s_1, slicedSegments: [] };\n }\n if (slicedSegments.length === 0 &&\n containsEmptyPathMatches(segmentGroup, slicedSegments, config)) {\n var /** @type {?} */ s_2 = new UrlSegmentGroup(segmentGroup.segments, addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, config, segmentGroup.children));\n s_2._sourceSegment = segmentGroup;\n s_2._segmentIndexShift = consumedSegments.length;\n return { segmentGroup: s_2, slicedSegments: slicedSegments };\n }\n var /** @type {?} */ s = new UrlSegmentGroup(segmentGroup.segments, segmentGroup.children);\n s._sourceSegment = segmentGroup;\n s._segmentIndexShift = consumedSegments.length;\n return { segmentGroup: s, slicedSegments: slicedSegments };\n}\n/**\n * @param {?} segmentGroup\n * @param {?} slicedSegments\n * @param {?} routes\n * @param {?} children\n * @return {?}\n */\nfunction addEmptyPathsToChildrenIfNeeded(segmentGroup, slicedSegments, routes, children) {\n var /** @type {?} */ res = {};\n for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {\n var r = routes_1[_i];\n if (emptyPathMatch(segmentGroup, slicedSegments, r) && !children[getOutlet$1(r)]) {\n var /** @type {?} */ s = new UrlSegmentGroup([], {});\n s._sourceSegment = segmentGroup;\n s._segmentIndexShift = segmentGroup.segments.length;\n res[getOutlet$1(r)] = s;\n }\n }\n return __assign({}, children, res);\n}\n/**\n * @param {?} segmentGroup\n * @param {?} consumedSegments\n * @param {?} routes\n * @param {?} primarySegment\n * @return {?}\n */\nfunction createChildrenForEmptyPaths(segmentGroup, consumedSegments, routes, primarySegment) {\n var /** @type {?} */ res = {};\n res[PRIMARY_OUTLET] = primarySegment;\n primarySegment._sourceSegment = segmentGroup;\n primarySegment._segmentIndexShift = consumedSegments.length;\n for (var _i = 0, routes_2 = routes; _i < routes_2.length; _i++) {\n var r = routes_2[_i];\n if (r.path === '' && getOutlet$1(r) !== PRIMARY_OUTLET) {\n var /** @type {?} */ s = new UrlSegmentGroup([], {});\n s._sourceSegment = segmentGroup;\n s._segmentIndexShift = consumedSegments.length;\n res[getOutlet$1(r)] = s;\n }\n }\n return res;\n}\n/**\n * @param {?} segmentGroup\n * @param {?} slicedSegments\n * @param {?} routes\n * @return {?}\n */\nfunction containsEmptyPathMatchesWithNamedOutlets(segmentGroup, slicedSegments, routes) {\n return routes.some(function (r) { return emptyPathMatch(segmentGroup, slicedSegments, r) && getOutlet$1(r) !== PRIMARY_OUTLET; });\n}\n/**\n * @param {?} segmentGroup\n * @param {?} slicedSegments\n * @param {?} routes\n * @return {?}\n */\nfunction containsEmptyPathMatches(segmentGroup, slicedSegments, routes) {\n return routes.some(function (r) { return emptyPathMatch(segmentGroup, slicedSegments, r); });\n}\n/**\n * @param {?} segmentGroup\n * @param {?} slicedSegments\n * @param {?} r\n * @return {?}\n */\nfunction emptyPathMatch(segmentGroup, slicedSegments, r) {\n if ((segmentGroup.hasChildren() || slicedSegments.length > 0) && r.pathMatch === 'full') {\n return false;\n }\n return r.path === '' && r.redirectTo === undefined;\n}\n/**\n * @param {?} route\n * @return {?}\n */\nfunction getOutlet$1(route) {\n return route.outlet || PRIMARY_OUTLET;\n}\n/**\n * @param {?} route\n * @return {?}\n */\nfunction getData(route) {\n return route.data || {};\n}\n/**\n * @param {?} route\n * @return {?}\n */\nfunction getResolve(route) {\n return route.resolve || {};\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Provides a way to customize when activated routes get reused.\n *\n * \\@experimental\n * @abstract\n */\nvar RouteReuseStrategy = /** @class */ (function () {\n function RouteReuseStrategy() {\n }\n return RouteReuseStrategy;\n}());\n/**\n * Does not detach any subtrees. Reuses routes as long as their route config is the same.\n */\nvar DefaultRouteReuseStrategy = /** @class */ (function () {\n function DefaultRouteReuseStrategy() {\n }\n /**\n * @param {?} route\n * @return {?}\n */\n DefaultRouteReuseStrategy.prototype.shouldDetach = /**\n * @param {?} route\n * @return {?}\n */\n function (route) { return false; };\n /**\n * @param {?} route\n * @param {?} detachedTree\n * @return {?}\n */\n DefaultRouteReuseStrategy.prototype.store = /**\n * @param {?} route\n * @param {?} detachedTree\n * @return {?}\n */\n function (route, detachedTree) { };\n /**\n * @param {?} route\n * @return {?}\n */\n DefaultRouteReuseStrategy.prototype.shouldAttach = /**\n * @param {?} route\n * @return {?}\n */\n function (route) { return false; };\n /**\n * @param {?} route\n * @return {?}\n */\n DefaultRouteReuseStrategy.prototype.retrieve = /**\n * @param {?} route\n * @return {?}\n */\n function (route) { return null; };\n /**\n * @param {?} future\n * @param {?} curr\n * @return {?}\n */\n DefaultRouteReuseStrategy.prototype.shouldReuseRoute = /**\n * @param {?} future\n * @param {?} curr\n * @return {?}\n */\n function (future, curr) {\n return future.routeConfig === curr.routeConfig;\n };\n return DefaultRouteReuseStrategy;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@docsNotRequired\n * \\@experimental\n */\nvar ROUTES = new InjectionToken('ROUTES');\nvar RouterConfigLoader = /** @class */ (function () {\n function RouterConfigLoader(loader, compiler, onLoadStartListener, onLoadEndListener) {\n this.loader = loader;\n this.compiler = compiler;\n this.onLoadStartListener = onLoadStartListener;\n this.onLoadEndListener = onLoadEndListener;\n }\n /**\n * @param {?} parentInjector\n * @param {?} route\n * @return {?}\n */\n RouterConfigLoader.prototype.load = /**\n * @param {?} parentInjector\n * @param {?} route\n * @return {?}\n */\n function (parentInjector, route) {\n var _this = this;\n if (this.onLoadStartListener) {\n this.onLoadStartListener(route);\n }\n var /** @type {?} */ moduleFactory$ = this.loadModuleFactory(/** @type {?} */ ((route.loadChildren)));\n return map.call(moduleFactory$, function (factory) {\n if (_this.onLoadEndListener) {\n _this.onLoadEndListener(route);\n }\n var /** @type {?} */ module = factory.create(parentInjector);\n return new LoadedRouterConfig(flatten(module.injector.get(ROUTES)), module);\n });\n };\n /**\n * @param {?} loadChildren\n * @return {?}\n */\n RouterConfigLoader.prototype.loadModuleFactory = /**\n * @param {?} loadChildren\n * @return {?}\n */\n function (loadChildren) {\n var _this = this;\n if (typeof loadChildren === 'string') {\n return fromPromise(this.loader.load(loadChildren));\n }\n else {\n return mergeMap.call(wrapIntoObservable(loadChildren()), function (t) {\n if (t instanceof NgModuleFactory) {\n return of(t);\n }\n else {\n return fromPromise(_this.compiler.compileModuleAsync(t));\n }\n });\n }\n };\n return RouterConfigLoader;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Provides a way to migrate AngularJS applications to Angular.\n *\n * \\@experimental\n * @abstract\n */\nvar UrlHandlingStrategy = /** @class */ (function () {\n function UrlHandlingStrategy() {\n }\n return UrlHandlingStrategy;\n}());\n/**\n * \\@experimental\n */\nvar DefaultUrlHandlingStrategy = /** @class */ (function () {\n function DefaultUrlHandlingStrategy() {\n }\n /**\n * @param {?} url\n * @return {?}\n */\n DefaultUrlHandlingStrategy.prototype.shouldProcessUrl = /**\n * @param {?} url\n * @return {?}\n */\n function (url) { return true; };\n /**\n * @param {?} url\n * @return {?}\n */\n DefaultUrlHandlingStrategy.prototype.extract = /**\n * @param {?} url\n * @return {?}\n */\n function (url) { return url; };\n /**\n * @param {?} newUrlPart\n * @param {?} wholeUrl\n * @return {?}\n */\n DefaultUrlHandlingStrategy.prototype.merge = /**\n * @param {?} newUrlPart\n * @param {?} wholeUrl\n * @return {?}\n */\n function (newUrlPart, wholeUrl) { return newUrlPart; };\n return DefaultUrlHandlingStrategy;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Represents the extra options used during navigation.\n *\n * \\@stable\n * @record\n */\n\n/**\n * @param {?} error\n * @return {?}\n */\nfunction defaultErrorHandler(error) {\n throw error;\n}\n/**\n * \\@internal\n * @param {?} snapshot\n * @return {?}\n */\nfunction defaultRouterHook(snapshot) {\n return /** @type {?} */ (of(null));\n}\n/**\n * \\@whatItDoes Provides the navigation and url manipulation capabilities.\n *\n * See {\\@link Routes} for more details and examples.\n *\n * \\@ngModule RouterModule\n *\n * \\@stable\n */\nvar Router = /** @class */ (function () {\n /**\n * Creates the router service.\n */\n // TODO: vsavkin make internal after the final is out.\n function Router(rootComponentType, urlSerializer, rootContexts, location, injector, loader, compiler, config) {\n var _this = this;\n this.rootComponentType = rootComponentType;\n this.urlSerializer = urlSerializer;\n this.rootContexts = rootContexts;\n this.location = location;\n this.config = config;\n this.navigations = new BehaviorSubject(/** @type {?} */ ((null)));\n this.navigationId = 0;\n this.events = new Subject();\n /**\n * Error handler that is invoked when a navigation errors.\n *\n * See {\\@link ErrorHandler} for more information.\n */\n this.errorHandler = defaultErrorHandler;\n /**\n * Indicates if at least one navigation happened.\n */\n this.navigated = false;\n /**\n * Used by RouterModule. This allows us to\n * pause the navigation either before preactivation or after it.\n * \\@internal\n */\n this.hooks = {\n beforePreactivation: defaultRouterHook,\n afterPreactivation: defaultRouterHook\n };\n /**\n * Extracts and merges URLs. Used for AngularJS to Angular migrations.\n */\n this.urlHandlingStrategy = new DefaultUrlHandlingStrategy();\n this.routeReuseStrategy = new DefaultRouteReuseStrategy();\n /**\n * Define what the router should do if it receives a navigation request to the current URL.\n * By default, the router will ignore this navigation. However, this prevents features such\n * as a \"refresh\" button. Use this option to configure the behavior when navigating to the\n * current URL. Default is 'ignore'.\n */\n this.onSameUrlNavigation = 'ignore';\n /**\n * Defines how the router merges params, data and resolved data from parent to child\n * routes. Available options are:\n *\n * - `'emptyOnly'`, the default, only inherits parent params for path-less or component-less\n * routes.\n * - `'always'`, enables unconditional inheritance of parent params.\n */\n this.paramsInheritanceStrategy = 'emptyOnly';\n var /** @type {?} */ onLoadStart = function (r) { return _this.triggerEvent(new RouteConfigLoadStart(r)); };\n var /** @type {?} */ onLoadEnd = function (r) { return _this.triggerEvent(new RouteConfigLoadEnd(r)); };\n this.ngModule = injector.get(NgModuleRef);\n this.resetConfig(config);\n this.currentUrlTree = createEmptyUrlTree();\n this.rawUrlTree = this.currentUrlTree;\n this.configLoader = new RouterConfigLoader(loader, compiler, onLoadStart, onLoadEnd);\n this.routerState = createEmptyState(this.currentUrlTree, this.rootComponentType);\n this.processNavigations();\n }\n /**\n * @internal\n * TODO: this should be removed once the constructor of the router made internal\n */\n /**\n * \\@internal\n * TODO: this should be removed once the constructor of the router made internal\n * @param {?} rootComponentType\n * @return {?}\n */\n Router.prototype.resetRootComponentType = /**\n * \\@internal\n * TODO: this should be removed once the constructor of the router made internal\n * @param {?} rootComponentType\n * @return {?}\n */\n function (rootComponentType) {\n this.rootComponentType = rootComponentType;\n // TODO: vsavkin router 4.0 should make the root component set to null\n // this will simplify the lifecycle of the router.\n this.routerState.root.component = this.rootComponentType;\n };\n /**\n * Sets up the location change listener and performs the initial navigation.\n */\n /**\n * Sets up the location change listener and performs the initial navigation.\n * @return {?}\n */\n Router.prototype.initialNavigation = /**\n * Sets up the location change listener and performs the initial navigation.\n * @return {?}\n */\n function () {\n this.setUpLocationChangeListener();\n if (this.navigationId === 0) {\n this.navigateByUrl(this.location.path(true), { replaceUrl: true });\n }\n };\n /**\n * Sets up the location change listener.\n */\n /**\n * Sets up the location change listener.\n * @return {?}\n */\n Router.prototype.setUpLocationChangeListener = /**\n * Sets up the location change listener.\n * @return {?}\n */\n function () {\n var _this = this;\n // Zone.current.wrap is needed because of the issue with RxJS scheduler,\n // which does not work properly with zone.js in IE and Safari\n if (!this.locationSubscription) {\n this.locationSubscription = /** @type {?} */ (this.location.subscribe(Zone.current.wrap(function (change) {\n var /** @type {?} */ rawUrlTree = _this.urlSerializer.parse(change['url']);\n var /** @type {?} */ source = change['type'] === 'popstate' ? 'popstate' : 'hashchange';\n setTimeout(function () { _this.scheduleNavigation(rawUrlTree, source, { replaceUrl: true }); }, 0);\n })));\n }\n };\n Object.defineProperty(Router.prototype, \"url\", {\n /** The current url */\n get: /**\n * The current url\n * @return {?}\n */\n function () { return this.serializeUrl(this.currentUrlTree); },\n enumerable: true,\n configurable: true\n });\n /** @internal */\n /**\n * \\@internal\n * @param {?} e\n * @return {?}\n */\n Router.prototype.triggerEvent = /**\n * \\@internal\n * @param {?} e\n * @return {?}\n */\n function (e) { (/** @type {?} */ (this.events)).next(e); };\n /**\n * Resets the configuration used for navigation and generating links.\n *\n * ### Usage\n *\n * ```\n * router.resetConfig([\n * { path: 'team/:id', component: TeamCmp, children: [\n * { path: 'simple', component: SimpleCmp },\n * { path: 'user/:name', component: UserCmp }\n * ]}\n * ]);\n * ```\n */\n /**\n * Resets the configuration used for navigation and generating links.\n *\n * ### Usage\n *\n * ```\n * router.resetConfig([\n * { path: 'team/:id', component: TeamCmp, children: [\n * { path: 'simple', component: SimpleCmp },\n * { path: 'user/:name', component: UserCmp }\n * ]}\n * ]);\n * ```\n * @param {?} config\n * @return {?}\n */\n Router.prototype.resetConfig = /**\n * Resets the configuration used for navigation and generating links.\n *\n * ### Usage\n *\n * ```\n * router.resetConfig([\n * { path: 'team/:id', component: TeamCmp, children: [\n * { path: 'simple', component: SimpleCmp },\n * { path: 'user/:name', component: UserCmp }\n * ]}\n * ]);\n * ```\n * @param {?} config\n * @return {?}\n */\n function (config) {\n validateConfig(config);\n this.config = config;\n this.navigated = false;\n };\n /** @docsNotRequired */\n /**\n * \\@docsNotRequired\n * @return {?}\n */\n Router.prototype.ngOnDestroy = /**\n * \\@docsNotRequired\n * @return {?}\n */\n function () { this.dispose(); };\n /** Disposes of the router */\n /**\n * Disposes of the router\n * @return {?}\n */\n Router.prototype.dispose = /**\n * Disposes of the router\n * @return {?}\n */\n function () {\n if (this.locationSubscription) {\n this.locationSubscription.unsubscribe();\n this.locationSubscription = /** @type {?} */ ((null));\n }\n };\n /**\n * Applies an array of commands to the current url tree and creates a new url tree.\n *\n * When given an activate route, applies the given commands starting from the route.\n * When not given a route, applies the given command starting from the root.\n *\n * ### Usage\n *\n * ```\n * // create /team/33/user/11\n * router.createUrlTree(['/team', 33, 'user', 11]);\n *\n * // create /team/33;expand=true/user/11\n * router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);\n *\n * // you can collapse static segments like this (this works only with the first passed-in value):\n * router.createUrlTree(['/team/33/user', userId]);\n *\n * // If the first segment can contain slashes, and you do not want the router to split it, you\n * // can do the following:\n *\n * router.createUrlTree([{segmentPath: '/one/two'}]);\n *\n * // create /team/33/(user/11//right:chat)\n * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);\n *\n * // remove the right secondary node\n * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);\n *\n * // assuming the current url is `/team/33/user/11` and the route points to `user/11`\n *\n * // navigate to /team/33/user/11/details\n * router.createUrlTree(['details'], {relativeTo: route});\n *\n * // navigate to /team/33/user/22\n * router.createUrlTree(['../22'], {relativeTo: route});\n *\n * // navigate to /team/44/user/22\n * router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});\n * ```\n */\n /**\n * Applies an array of commands to the current url tree and creates a new url tree.\n *\n * When given an activate route, applies the given commands starting from the route.\n * When not given a route, applies the given command starting from the root.\n *\n * ### Usage\n *\n * ```\n * // create /team/33/user/11\n * router.createUrlTree(['/team', 33, 'user', 11]);\n *\n * // create /team/33;expand=true/user/11\n * router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);\n *\n * // you can collapse static segments like this (this works only with the first passed-in value):\n * router.createUrlTree(['/team/33/user', userId]);\n *\n * // If the first segment can contain slashes, and you do not want the router to split it, you\n * // can do the following:\n *\n * router.createUrlTree([{segmentPath: '/one/two'}]);\n *\n * // create /team/33/(user/11//right:chat)\n * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);\n *\n * // remove the right secondary node\n * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);\n *\n * // assuming the current url is `/team/33/user/11` and the route points to `user/11`\n *\n * // navigate to /team/33/user/11/details\n * router.createUrlTree(['details'], {relativeTo: route});\n *\n * // navigate to /team/33/user/22\n * router.createUrlTree(['../22'], {relativeTo: route});\n *\n * // navigate to /team/44/user/22\n * router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});\n * ```\n * @param {?} commands\n * @param {?=} navigationExtras\n * @return {?}\n */\n Router.prototype.createUrlTree = /**\n * Applies an array of commands to the current url tree and creates a new url tree.\n *\n * When given an activate route, applies the given commands starting from the route.\n * When not given a route, applies the given command starting from the root.\n *\n * ### Usage\n *\n * ```\n * // create /team/33/user/11\n * router.createUrlTree(['/team', 33, 'user', 11]);\n *\n * // create /team/33;expand=true/user/11\n * router.createUrlTree(['/team', 33, {expand: true}, 'user', 11]);\n *\n * // you can collapse static segments like this (this works only with the first passed-in value):\n * router.createUrlTree(['/team/33/user', userId]);\n *\n * // If the first segment can contain slashes, and you do not want the router to split it, you\n * // can do the following:\n *\n * router.createUrlTree([{segmentPath: '/one/two'}]);\n *\n * // create /team/33/(user/11//right:chat)\n * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);\n *\n * // remove the right secondary node\n * router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);\n *\n * // assuming the current url is `/team/33/user/11` and the route points to `user/11`\n *\n * // navigate to /team/33/user/11/details\n * router.createUrlTree(['details'], {relativeTo: route});\n *\n * // navigate to /team/33/user/22\n * router.createUrlTree(['../22'], {relativeTo: route});\n *\n * // navigate to /team/44/user/22\n * router.createUrlTree(['../../team/44/user/22'], {relativeTo: route});\n * ```\n * @param {?} commands\n * @param {?=} navigationExtras\n * @return {?}\n */\n function (commands, navigationExtras) {\n if (navigationExtras === void 0) { navigationExtras = {}; }\n var relativeTo = navigationExtras.relativeTo, queryParams = navigationExtras.queryParams, fragment = navigationExtras.fragment, preserveQueryParams = navigationExtras.preserveQueryParams, queryParamsHandling = navigationExtras.queryParamsHandling, preserveFragment = navigationExtras.preserveFragment;\n if (isDevMode() && preserveQueryParams && /** @type {?} */ (console) && /** @type {?} */ (console.warn)) {\n console.warn('preserveQueryParams is deprecated, use queryParamsHandling instead.');\n }\n var /** @type {?} */ a = relativeTo || this.routerState.root;\n var /** @type {?} */ f = preserveFragment ? this.currentUrlTree.fragment : fragment;\n var /** @type {?} */ q = null;\n if (queryParamsHandling) {\n switch (queryParamsHandling) {\n case 'merge':\n q = __assign({}, this.currentUrlTree.queryParams, queryParams);\n break;\n case 'preserve':\n q = this.currentUrlTree.queryParams;\n break;\n default:\n q = queryParams || null;\n }\n }\n else {\n q = preserveQueryParams ? this.currentUrlTree.queryParams : queryParams || null;\n }\n if (q !== null) {\n q = this.removeEmptyProps(q);\n }\n return createUrlTree(a, this.currentUrlTree, commands, /** @type {?} */ ((q)), /** @type {?} */ ((f)));\n };\n /**\n * Navigate based on the provided url. This navigation is always absolute.\n *\n * Returns a promise that:\n * - resolves to 'true' when navigation succeeds,\n * - resolves to 'false' when navigation fails,\n * - is rejected when an error happens.\n *\n * ### Usage\n *\n * ```\n * router.navigateByUrl(\"/team/33/user/11\");\n *\n * // Navigate without updating the URL\n * router.navigateByUrl(\"/team/33/user/11\", { skipLocationChange: true });\n * ```\n *\n * In opposite to `navigate`, `navigateByUrl` takes a whole URL\n * and does not apply any delta to the current one.\n */\n /**\n * Navigate based on the provided url. This navigation is always absolute.\n *\n * Returns a promise that:\n * - resolves to 'true' when navigation succeeds,\n * - resolves to 'false' when navigation fails,\n * - is rejected when an error happens.\n *\n * ### Usage\n *\n * ```\n * router.navigateByUrl(\"/team/33/user/11\");\n *\n * // Navigate without updating the URL\n * router.navigateByUrl(\"/team/33/user/11\", { skipLocationChange: true });\n * ```\n *\n * In opposite to `navigate`, `navigateByUrl` takes a whole URL\n * and does not apply any delta to the current one.\n * @param {?} url\n * @param {?=} extras\n * @return {?}\n */\n Router.prototype.navigateByUrl = /**\n * Navigate based on the provided url. This navigation is always absolute.\n *\n * Returns a promise that:\n * - resolves to 'true' when navigation succeeds,\n * - resolves to 'false' when navigation fails,\n * - is rejected when an error happens.\n *\n * ### Usage\n *\n * ```\n * router.navigateByUrl(\"/team/33/user/11\");\n *\n * // Navigate without updating the URL\n * router.navigateByUrl(\"/team/33/user/11\", { skipLocationChange: true });\n * ```\n *\n * In opposite to `navigate`, `navigateByUrl` takes a whole URL\n * and does not apply any delta to the current one.\n * @param {?} url\n * @param {?=} extras\n * @return {?}\n */\n function (url, extras) {\n if (extras === void 0) { extras = { skipLocationChange: false }; }\n var /** @type {?} */ urlTree = url instanceof UrlTree ? url : this.parseUrl(url);\n var /** @type {?} */ mergedTree = this.urlHandlingStrategy.merge(urlTree, this.rawUrlTree);\n return this.scheduleNavigation(mergedTree, 'imperative', extras);\n };\n /**\n * Navigate based on the provided array of commands and a starting point.\n * If no starting route is provided, the navigation is absolute.\n *\n * Returns a promise that:\n * - resolves to 'true' when navigation succeeds,\n * - resolves to 'false' when navigation fails,\n * - is rejected when an error happens.\n *\n * ### Usage\n *\n * ```\n * router.navigate(['team', 33, 'user', 11], {relativeTo: route});\n *\n * // Navigate without updating the URL\n * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true});\n * ```\n *\n * In opposite to `navigateByUrl`, `navigate` always takes a delta that is applied to the current\n * URL.\n */\n /**\n * Navigate based on the provided array of commands and a starting point.\n * If no starting route is provided, the navigation is absolute.\n *\n * Returns a promise that:\n * - resolves to 'true' when navigation succeeds,\n * - resolves to 'false' when navigation fails,\n * - is rejected when an error happens.\n *\n * ### Usage\n *\n * ```\n * router.navigate(['team', 33, 'user', 11], {relativeTo: route});\n *\n * // Navigate without updating the URL\n * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true});\n * ```\n *\n * In opposite to `navigateByUrl`, `navigate` always takes a delta that is applied to the current\n * URL.\n * @param {?} commands\n * @param {?=} extras\n * @return {?}\n */\n Router.prototype.navigate = /**\n * Navigate based on the provided array of commands and a starting point.\n * If no starting route is provided, the navigation is absolute.\n *\n * Returns a promise that:\n * - resolves to 'true' when navigation succeeds,\n * - resolves to 'false' when navigation fails,\n * - is rejected when an error happens.\n *\n * ### Usage\n *\n * ```\n * router.navigate(['team', 33, 'user', 11], {relativeTo: route});\n *\n * // Navigate without updating the URL\n * router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true});\n * ```\n *\n * In opposite to `navigateByUrl`, `navigate` always takes a delta that is applied to the current\n * URL.\n * @param {?} commands\n * @param {?=} extras\n * @return {?}\n */\n function (commands, extras) {\n if (extras === void 0) { extras = { skipLocationChange: false }; }\n validateCommands(commands);\n return this.navigateByUrl(this.createUrlTree(commands, extras), extras);\n };\n /** Serializes a {@link UrlTree} into a string */\n /**\n * Serializes a {\\@link UrlTree} into a string\n * @param {?} url\n * @return {?}\n */\n Router.prototype.serializeUrl = /**\n * Serializes a {\\@link UrlTree} into a string\n * @param {?} url\n * @return {?}\n */\n function (url) { return this.urlSerializer.serialize(url); };\n /** Parses a string into a {@link UrlTree} */\n /**\n * Parses a string into a {\\@link UrlTree}\n * @param {?} url\n * @return {?}\n */\n Router.prototype.parseUrl = /**\n * Parses a string into a {\\@link UrlTree}\n * @param {?} url\n * @return {?}\n */\n function (url) { return this.urlSerializer.parse(url); };\n /** Returns whether the url is activated */\n /**\n * Returns whether the url is activated\n * @param {?} url\n * @param {?} exact\n * @return {?}\n */\n Router.prototype.isActive = /**\n * Returns whether the url is activated\n * @param {?} url\n * @param {?} exact\n * @return {?}\n */\n function (url, exact) {\n if (url instanceof UrlTree) {\n return containsTree(this.currentUrlTree, url, exact);\n }\n var /** @type {?} */ urlTree = this.urlSerializer.parse(url);\n return containsTree(this.currentUrlTree, urlTree, exact);\n };\n /**\n * @param {?} params\n * @return {?}\n */\n Router.prototype.removeEmptyProps = /**\n * @param {?} params\n * @return {?}\n */\n function (params) {\n return Object.keys(params).reduce(function (result, key) {\n var /** @type {?} */ value = params[key];\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n return result;\n }, {});\n };\n /**\n * @return {?}\n */\n Router.prototype.processNavigations = /**\n * @return {?}\n */\n function () {\n var _this = this;\n concatMap\n .call(this.navigations, function (nav) {\n if (nav) {\n _this.executeScheduledNavigation(nav);\n // a failed navigation should not stop the router from processing\n // further navigations => the catch\n return nav.promise.catch(function () { });\n }\n else {\n return /** @type {?} */ (of(null));\n }\n })\n .subscribe(function () { });\n };\n /**\n * @param {?} rawUrl\n * @param {?} source\n * @param {?} extras\n * @return {?}\n */\n Router.prototype.scheduleNavigation = /**\n * @param {?} rawUrl\n * @param {?} source\n * @param {?} extras\n * @return {?}\n */\n function (rawUrl, source, extras) {\n var /** @type {?} */ lastNavigation = this.navigations.value;\n // If the user triggers a navigation imperatively (e.g., by using navigateByUrl),\n // and that navigation results in 'replaceState' that leads to the same URL,\n // we should skip those.\n if (lastNavigation && source !== 'imperative' && lastNavigation.source === 'imperative' &&\n lastNavigation.rawUrl.toString() === rawUrl.toString()) {\n return Promise.resolve(true); // return value is not used\n }\n // Because of a bug in IE and Edge, the location class fires two events (popstate and\n // hashchange) every single time. The second one should be ignored. Otherwise, the URL will\n // flicker. Handles the case when a popstate was emitted first.\n if (lastNavigation && source == 'hashchange' && lastNavigation.source === 'popstate' &&\n lastNavigation.rawUrl.toString() === rawUrl.toString()) {\n return Promise.resolve(true); // return value is not used\n }\n // Because of a bug in IE and Edge, the location class fires two events (popstate and\n // hashchange) every single time. The second one should be ignored. Otherwise, the URL will\n // flicker. Handles the case when a hashchange was emitted first.\n if (lastNavigation && source == 'popstate' && lastNavigation.source === 'hashchange' &&\n lastNavigation.rawUrl.toString() === rawUrl.toString()) {\n return Promise.resolve(true); // return value is not used\n }\n var /** @type {?} */ resolve = null;\n var /** @type {?} */ reject = null;\n var /** @type {?} */ promise = new Promise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n var /** @type {?} */ id = ++this.navigationId;\n this.navigations.next({ id: id, source: source, rawUrl: rawUrl, extras: extras, resolve: resolve, reject: reject, promise: promise });\n // Make sure that the error is propagated even though `processNavigations` catch\n // handler does not rethrow\n return promise.catch(function (e) { return Promise.reject(e); });\n };\n /**\n * @param {?} __0\n * @return {?}\n */\n Router.prototype.executeScheduledNavigation = /**\n * @param {?} __0\n * @return {?}\n */\n function (_a) {\n var _this = this;\n var id = _a.id, rawUrl = _a.rawUrl, extras = _a.extras, resolve = _a.resolve, reject = _a.reject;\n var /** @type {?} */ url = this.urlHandlingStrategy.extract(rawUrl);\n var /** @type {?} */ urlTransition = !this.navigated || url.toString() !== this.currentUrlTree.toString();\n if ((this.onSameUrlNavigation === 'reload' ? true : urlTransition) &&\n this.urlHandlingStrategy.shouldProcessUrl(rawUrl)) {\n (/** @type {?} */ (this.events)).next(new NavigationStart(id, this.serializeUrl(url)));\n Promise.resolve()\n .then(function (_) {\n return _this.runNavigate(url, rawUrl, !!extras.skipLocationChange, !!extras.replaceUrl, id, null);\n })\n .then(resolve, reject);\n // we cannot process the current URL, but we could process the previous one =>\n // we need to do some cleanup\n }\n else if (urlTransition && this.rawUrlTree &&\n this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)) {\n (/** @type {?} */ (this.events)).next(new NavigationStart(id, this.serializeUrl(url)));\n Promise.resolve()\n .then(function (_) {\n return _this.runNavigate(url, rawUrl, false, false, id, createEmptyState(url, _this.rootComponentType).snapshot);\n })\n .then(resolve, reject);\n }\n else {\n this.rawUrlTree = rawUrl;\n resolve(null);\n }\n };\n /**\n * @param {?} url\n * @param {?} rawUrl\n * @param {?} skipLocationChange\n * @param {?} replaceUrl\n * @param {?} id\n * @param {?} precreatedState\n * @return {?}\n */\n Router.prototype.runNavigate = /**\n * @param {?} url\n * @param {?} rawUrl\n * @param {?} skipLocationChange\n * @param {?} replaceUrl\n * @param {?} id\n * @param {?} precreatedState\n * @return {?}\n */\n function (url, rawUrl, skipLocationChange, replaceUrl, id, precreatedState) {\n var _this = this;\n if (id !== this.navigationId) {\n (/** @type {?} */ (this.events))\n .next(new NavigationCancel(id, this.serializeUrl(url), \"Navigation ID \" + id + \" is not equal to the current navigation id \" + this.navigationId));\n return Promise.resolve(false);\n }\n return new Promise(function (resolvePromise, rejectPromise) {\n // create an observable of the url and route state snapshot\n // this operation do not result in any side effects\n var /** @type {?} */ urlAndSnapshot$;\n if (!precreatedState) {\n var /** @type {?} */ moduleInjector = _this.ngModule.injector;\n var /** @type {?} */ redirectsApplied$ = applyRedirects(moduleInjector, _this.configLoader, _this.urlSerializer, url, _this.config);\n urlAndSnapshot$ = mergeMap.call(redirectsApplied$, function (appliedUrl) {\n return map.call(recognize(_this.rootComponentType, _this.config, appliedUrl, _this.serializeUrl(appliedUrl), _this.paramsInheritanceStrategy), function (snapshot) {\n (/** @type {?} */ (_this.events))\n .next(new RoutesRecognized(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl), snapshot));\n return { appliedUrl: appliedUrl, snapshot: snapshot };\n });\n });\n }\n else {\n urlAndSnapshot$ = of({ appliedUrl: url, snapshot: precreatedState });\n }\n var /** @type {?} */ beforePreactivationDone$ = mergeMap.call(urlAndSnapshot$, function (p) {\n return map.call(_this.hooks.beforePreactivation(p.snapshot), function () { return p; });\n });\n // run preactivation: guards and data resolvers\n var /** @type {?} */ preActivation;\n var /** @type {?} */ preactivationSetup$ = map.call(beforePreactivationDone$, function (_a) {\n var appliedUrl = _a.appliedUrl, snapshot = _a.snapshot;\n var /** @type {?} */ moduleInjector = _this.ngModule.injector;\n preActivation = new PreActivation(snapshot, _this.routerState.snapshot, moduleInjector, function (evt) { return _this.triggerEvent(evt); });\n preActivation.initialize(_this.rootContexts);\n return { appliedUrl: appliedUrl, snapshot: snapshot };\n });\n var /** @type {?} */ preactivationCheckGuards$ = mergeMap.call(preactivationSetup$, function (_a) {\n var appliedUrl = _a.appliedUrl, snapshot = _a.snapshot;\n if (_this.navigationId !== id)\n return of(false);\n _this.triggerEvent(new GuardsCheckStart(id, _this.serializeUrl(url), appliedUrl, snapshot));\n return map.call(preActivation.checkGuards(), function (shouldActivate) {\n _this.triggerEvent(new GuardsCheckEnd(id, _this.serializeUrl(url), appliedUrl, snapshot, shouldActivate));\n return { appliedUrl: appliedUrl, snapshot: snapshot, shouldActivate: shouldActivate };\n });\n });\n var /** @type {?} */ preactivationResolveData$ = mergeMap.call(preactivationCheckGuards$, function (p) {\n if (_this.navigationId !== id)\n return of(false);\n if (p.shouldActivate && preActivation.isActivating()) {\n _this.triggerEvent(new ResolveStart(id, _this.serializeUrl(url), p.appliedUrl, p.snapshot));\n return map.call(preActivation.resolveData(_this.paramsInheritanceStrategy), function () {\n _this.triggerEvent(new ResolveEnd(id, _this.serializeUrl(url), p.appliedUrl, p.snapshot));\n return p;\n });\n }\n else {\n return of(p);\n }\n });\n var /** @type {?} */ preactivationDone$ = mergeMap.call(preactivationResolveData$, function (p) {\n return map.call(_this.hooks.afterPreactivation(p.snapshot), function () { return p; });\n });\n // create router state\n // this operation has side effects => route state is being affected\n var /** @type {?} */ routerState$ = map.call(preactivationDone$, function (_a) {\n var appliedUrl = _a.appliedUrl, snapshot = _a.snapshot, shouldActivate = _a.shouldActivate;\n if (shouldActivate) {\n var /** @type {?} */ state = createRouterState(_this.routeReuseStrategy, snapshot, _this.routerState);\n return { appliedUrl: appliedUrl, state: state, shouldActivate: shouldActivate };\n }\n else {\n return { appliedUrl: appliedUrl, state: null, shouldActivate: shouldActivate };\n }\n });\n // applied the new router state\n // this operation has side effects\n var /** @type {?} */ navigationIsSuccessful;\n var /** @type {?} */ storedState = _this.routerState;\n var /** @type {?} */ storedUrl = _this.currentUrlTree;\n routerState$\n .forEach(function (_a) {\n var appliedUrl = _a.appliedUrl, state = _a.state, shouldActivate = _a.shouldActivate;\n if (!shouldActivate || id !== _this.navigationId) {\n navigationIsSuccessful = false;\n return;\n }\n _this.currentUrlTree = appliedUrl;\n _this.rawUrlTree = _this.urlHandlingStrategy.merge(_this.currentUrlTree, rawUrl);\n (/** @type {?} */ (_this)).routerState = state;\n if (!skipLocationChange) {\n var /** @type {?} */ path = _this.urlSerializer.serialize(_this.rawUrlTree);\n if (_this.location.isCurrentPathEqualTo(path) || replaceUrl) {\n _this.location.replaceState(path);\n }\n else {\n _this.location.go(path);\n }\n }\n new ActivateRoutes(_this.routeReuseStrategy, state, storedState, function (evt) { return _this.triggerEvent(evt); })\n .activate(_this.rootContexts);\n navigationIsSuccessful = true;\n })\n .then(function () {\n if (navigationIsSuccessful) {\n _this.navigated = true;\n (/** @type {?} */ (_this.events))\n .next(new NavigationEnd(id, _this.serializeUrl(url), _this.serializeUrl(_this.currentUrlTree)));\n resolvePromise(true);\n }\n else {\n _this.resetUrlToCurrentUrlTree();\n (/** @type {?} */ (_this.events))\n .next(new NavigationCancel(id, _this.serializeUrl(url), ''));\n resolvePromise(false);\n }\n }, function (e) {\n if (isNavigationCancelingError(e)) {\n _this.navigated = true;\n _this.resetStateAndUrl(storedState, storedUrl, rawUrl);\n (/** @type {?} */ (_this.events))\n .next(new NavigationCancel(id, _this.serializeUrl(url), e.message));\n resolvePromise(false);\n }\n else {\n _this.resetStateAndUrl(storedState, storedUrl, rawUrl);\n (/** @type {?} */ (_this.events))\n .next(new NavigationError(id, _this.serializeUrl(url), e));\n try {\n resolvePromise(_this.errorHandler(e));\n }\n catch (/** @type {?} */ ee) {\n rejectPromise(ee);\n }\n }\n });\n });\n };\n /**\n * @param {?} storedState\n * @param {?} storedUrl\n * @param {?} rawUrl\n * @return {?}\n */\n Router.prototype.resetStateAndUrl = /**\n * @param {?} storedState\n * @param {?} storedUrl\n * @param {?} rawUrl\n * @return {?}\n */\n function (storedState, storedUrl, rawUrl) {\n (/** @type {?} */ (this)).routerState = storedState;\n this.currentUrlTree = storedUrl;\n this.rawUrlTree = this.urlHandlingStrategy.merge(this.currentUrlTree, rawUrl);\n this.resetUrlToCurrentUrlTree();\n };\n /**\n * @return {?}\n */\n Router.prototype.resetUrlToCurrentUrlTree = /**\n * @return {?}\n */\n function () {\n this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree));\n };\n return Router;\n}());\nvar ActivateRoutes = /** @class */ (function () {\n function ActivateRoutes(routeReuseStrategy, futureState, currState, forwardEvent) {\n this.routeReuseStrategy = routeReuseStrategy;\n this.futureState = futureState;\n this.currState = currState;\n this.forwardEvent = forwardEvent;\n }\n /**\n * @param {?} parentContexts\n * @return {?}\n */\n ActivateRoutes.prototype.activate = /**\n * @param {?} parentContexts\n * @return {?}\n */\n function (parentContexts) {\n var /** @type {?} */ futureRoot = this.futureState._root;\n var /** @type {?} */ currRoot = this.currState ? this.currState._root : null;\n this.deactivateChildRoutes(futureRoot, currRoot, parentContexts);\n advanceActivatedRoute(this.futureState.root);\n this.activateChildRoutes(futureRoot, currRoot, parentContexts);\n };\n /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} contexts\n * @return {?}\n */\n ActivateRoutes.prototype.deactivateChildRoutes = /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} contexts\n * @return {?}\n */\n function (futureNode, currNode, contexts) {\n var _this = this;\n var /** @type {?} */ children = nodeChildrenAsMap(currNode);\n // Recurse on the routes active in the future state to de-activate deeper children\n futureNode.children.forEach(function (futureChild) {\n var /** @type {?} */ childOutletName = futureChild.value.outlet;\n _this.deactivateRoutes(futureChild, children[childOutletName], contexts);\n delete children[childOutletName];\n });\n // De-activate the routes that will not be re-used\n forEach(children, function (v, childName) {\n _this.deactivateRouteAndItsChildren(v, contexts);\n });\n };\n /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} parentContext\n * @return {?}\n */\n ActivateRoutes.prototype.deactivateRoutes = /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} parentContext\n * @return {?}\n */\n function (futureNode, currNode, parentContext) {\n var /** @type {?} */ future = futureNode.value;\n var /** @type {?} */ curr = currNode ? currNode.value : null;\n if (future === curr) {\n // Reusing the node, check to see if the children need to be de-activated\n if (future.component) {\n // If we have a normal route, we need to go through an outlet.\n var /** @type {?} */ context = parentContext.getContext(future.outlet);\n if (context) {\n this.deactivateChildRoutes(futureNode, currNode, context.children);\n }\n }\n else {\n // if we have a componentless route, we recurse but keep the same outlet map.\n this.deactivateChildRoutes(futureNode, currNode, parentContext);\n }\n }\n else {\n if (curr) {\n // Deactivate the current route which will not be re-used\n this.deactivateRouteAndItsChildren(currNode, parentContext);\n }\n }\n };\n /**\n * @param {?} route\n * @param {?} parentContexts\n * @return {?}\n */\n ActivateRoutes.prototype.deactivateRouteAndItsChildren = /**\n * @param {?} route\n * @param {?} parentContexts\n * @return {?}\n */\n function (route, parentContexts) {\n if (this.routeReuseStrategy.shouldDetach(route.value.snapshot)) {\n this.detachAndStoreRouteSubtree(route, parentContexts);\n }\n else {\n this.deactivateRouteAndOutlet(route, parentContexts);\n }\n };\n /**\n * @param {?} route\n * @param {?} parentContexts\n * @return {?}\n */\n ActivateRoutes.prototype.detachAndStoreRouteSubtree = /**\n * @param {?} route\n * @param {?} parentContexts\n * @return {?}\n */\n function (route, parentContexts) {\n var /** @type {?} */ context = parentContexts.getContext(route.value.outlet);\n if (context && context.outlet) {\n var /** @type {?} */ componentRef = context.outlet.detach();\n var /** @type {?} */ contexts = context.children.onOutletDeactivated();\n this.routeReuseStrategy.store(route.value.snapshot, { componentRef: componentRef, route: route, contexts: contexts });\n }\n };\n /**\n * @param {?} route\n * @param {?} parentContexts\n * @return {?}\n */\n ActivateRoutes.prototype.deactivateRouteAndOutlet = /**\n * @param {?} route\n * @param {?} parentContexts\n * @return {?}\n */\n function (route, parentContexts) {\n var _this = this;\n var /** @type {?} */ context = parentContexts.getContext(route.value.outlet);\n if (context) {\n var /** @type {?} */ children = nodeChildrenAsMap(route);\n var /** @type {?} */ contexts_1 = route.value.component ? context.children : parentContexts;\n forEach(children, function (v, k) { return _this.deactivateRouteAndItsChildren(v, contexts_1); });\n if (context.outlet) {\n // Destroy the component\n context.outlet.deactivate();\n // Destroy the contexts for all the outlets that were in the component\n context.children.onOutletDeactivated();\n }\n }\n };\n /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} contexts\n * @return {?}\n */\n ActivateRoutes.prototype.activateChildRoutes = /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} contexts\n * @return {?}\n */\n function (futureNode, currNode, contexts) {\n var _this = this;\n var /** @type {?} */ children = nodeChildrenAsMap(currNode);\n futureNode.children.forEach(function (c) {\n _this.activateRoutes(c, children[c.value.outlet], contexts);\n _this.forwardEvent(new ActivationEnd(c.value.snapshot));\n });\n if (futureNode.children.length) {\n this.forwardEvent(new ChildActivationEnd(futureNode.value.snapshot));\n }\n };\n /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} parentContexts\n * @return {?}\n */\n ActivateRoutes.prototype.activateRoutes = /**\n * @param {?} futureNode\n * @param {?} currNode\n * @param {?} parentContexts\n * @return {?}\n */\n function (futureNode, currNode, parentContexts) {\n var /** @type {?} */ future = futureNode.value;\n var /** @type {?} */ curr = currNode ? currNode.value : null;\n advanceActivatedRoute(future);\n // reusing the node\n if (future === curr) {\n if (future.component) {\n // If we have a normal route, we need to go through an outlet.\n var /** @type {?} */ context = parentContexts.getOrCreateContext(future.outlet);\n this.activateChildRoutes(futureNode, currNode, context.children);\n }\n else {\n // if we have a componentless route, we recurse but keep the same outlet map.\n this.activateChildRoutes(futureNode, currNode, parentContexts);\n }\n }\n else {\n if (future.component) {\n // if we have a normal route, we need to place the component into the outlet and recurse.\n var /** @type {?} */ context = parentContexts.getOrCreateContext(future.outlet);\n if (this.routeReuseStrategy.shouldAttach(future.snapshot)) {\n var /** @type {?} */ stored = (/** @type {?} */ (this.routeReuseStrategy.retrieve(future.snapshot)));\n this.routeReuseStrategy.store(future.snapshot, null);\n context.children.onOutletReAttached(stored.contexts);\n context.attachRef = stored.componentRef;\n context.route = stored.route.value;\n if (context.outlet) {\n // Attach right away when the outlet has already been instantiated\n // Otherwise attach from `RouterOutlet.ngOnInit` when it is instantiated\n context.outlet.attach(stored.componentRef, stored.route.value);\n }\n advanceActivatedRouteNodeAndItsChildren(stored.route);\n }\n else {\n var /** @type {?} */ config = parentLoadedConfig(future.snapshot);\n var /** @type {?} */ cmpFactoryResolver = config ? config.module.componentFactoryResolver : null;\n context.route = future;\n context.resolver = cmpFactoryResolver;\n if (context.outlet) {\n // Activate the outlet when it has already been instantiated\n // Otherwise it will get activated from its `ngOnInit` when instantiated\n context.outlet.activateWith(future, cmpFactoryResolver);\n }\n this.activateChildRoutes(futureNode, null, context.children);\n }\n }\n else {\n // if we have a componentless route, we recurse but keep the same outlet map.\n this.activateChildRoutes(futureNode, null, parentContexts);\n }\n }\n };\n return ActivateRoutes;\n}());\n/**\n * @param {?} node\n * @return {?}\n */\nfunction advanceActivatedRouteNodeAndItsChildren(node) {\n advanceActivatedRoute(node.value);\n node.children.forEach(advanceActivatedRouteNodeAndItsChildren);\n}\n/**\n * @param {?} snapshot\n * @return {?}\n */\nfunction parentLoadedConfig(snapshot) {\n for (var /** @type {?} */ s = snapshot.parent; s; s = s.parent) {\n var /** @type {?} */ route = s.routeConfig;\n if (route && route._loadedConfig)\n return route._loadedConfig;\n if (route && route.component)\n return null;\n }\n return null;\n}\n/**\n * @param {?} commands\n * @return {?}\n */\nfunction validateCommands(commands) {\n for (var /** @type {?} */ i = 0; i < commands.length; i++) {\n var /** @type {?} */ cmd = commands[i];\n if (cmd == null) {\n throw new Error(\"The requested path contains \" + cmd + \" segment at index \" + i);\n }\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Lets you link to specific parts of your app.\n *\n * \\@howToUse\n *\n * Consider the following route configuration:\n * `[{ path: 'user/:name', component: UserCmp }]`\n *\n * When linking to this `user/:name` route, you can write:\n * `link to user component`\n *\n * \\@description\n *\n * The RouterLink directives let you link to specific parts of your app.\n *\n * When the link is static, you can use the directive as follows:\n * `link to user component`\n *\n * If you use dynamic values to generate the link, you can pass an array of path\n * segments, followed by the params for each segment.\n *\n * For instance `['/team', teamId, 'user', userName, {details: true}]`\n * means that we want to generate a link to `/team/11/user/bob;details=true`.\n *\n * Multiple static segments can be merged into one\n * (e.g., `['/team/11/user', userName, {details: true}]`).\n *\n * The first segment name can be prepended with `/`, `./`, or `../`:\n * * If the first segment begins with `/`, the router will look up the route from the root of the\n * app.\n * * If the first segment begins with `./`, or doesn't begin with a slash, the router will\n * instead look in the children of the current activated route.\n * * And if the first segment begins with `../`, the router will go up one level.\n *\n * You can set query params and fragment as follows:\n *\n * ```\n * \n * link to user component\n * \n * ```\n * RouterLink will use these to generate this link: `/user/bob#education?debug=true`.\n *\n * (Deprecated in v4.0.0 use `queryParamsHandling` instead) You can also tell the\n * directive to preserve the current query params and fragment:\n *\n * ```\n * \n * link to user component\n * \n * ```\n *\n * You can tell the directive to how to handle queryParams, available options are:\n * - `'merge'`: merge the queryParams into the current queryParams\n * - `'preserve'`: preserve the current queryParams\n * - default/`''`: use the queryParams only\n *\n * Same options for {\\@link NavigationExtras#queryParamsHandling\n * NavigationExtras#queryParamsHandling}.\n *\n * ```\n * \n * link to user component\n * \n * ```\n *\n * The router link directive always treats the provided input as a delta to the current url.\n *\n * For instance, if the current url is `/user/(box//aux:team)`.\n *\n * Then the following link `Jim` will generate the link\n * `/user/(jim//aux:team)`.\n *\n * See {\\@link Router#createUrlTree createUrlTree} for more information.\n *\n * \\@ngModule RouterModule\n *\n * \\@stable\n */\nvar RouterLink = /** @class */ (function () {\n function RouterLink(router, route, tabIndex, renderer, el) {\n this.router = router;\n this.route = route;\n this.commands = [];\n if (tabIndex == null) {\n renderer.setAttribute(el.nativeElement, 'tabindex', '0');\n }\n }\n Object.defineProperty(RouterLink.prototype, \"routerLink\", {\n set: /**\n * @param {?} commands\n * @return {?}\n */\n function (commands) {\n if (commands != null) {\n this.commands = Array.isArray(commands) ? commands : [commands];\n }\n else {\n this.commands = [];\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RouterLink.prototype, \"preserveQueryParams\", {\n set: /**\n * @deprecated 4.0.0 use `queryParamsHandling` instead.\n * @param {?} value\n * @return {?}\n */\n function (value) {\n if (isDevMode() && /** @type {?} */ (console) && /** @type {?} */ (console.warn)) {\n console.warn('preserveQueryParams is deprecated!, use queryParamsHandling instead.');\n }\n this.preserve = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n RouterLink.prototype.onClick = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ extras = {\n skipLocationChange: attrBoolValue(this.skipLocationChange),\n replaceUrl: attrBoolValue(this.replaceUrl),\n };\n this.router.navigateByUrl(this.urlTree, extras);\n return true;\n };\n Object.defineProperty(RouterLink.prototype, \"urlTree\", {\n get: /**\n * @return {?}\n */\n function () {\n return this.router.createUrlTree(this.commands, {\n relativeTo: this.route,\n queryParams: this.queryParams,\n fragment: this.fragment,\n preserveQueryParams: attrBoolValue(this.preserve),\n queryParamsHandling: this.queryParamsHandling,\n preserveFragment: attrBoolValue(this.preserveFragment),\n });\n },\n enumerable: true,\n configurable: true\n });\n RouterLink.decorators = [\n { type: Directive, args: [{ selector: ':not(a)[routerLink]' },] },\n ];\n /** @nocollapse */\n RouterLink.ctorParameters = function () { return [\n { type: Router, },\n { type: ActivatedRoute, },\n { type: undefined, decorators: [{ type: Attribute, args: ['tabindex',] },] },\n { type: Renderer2, },\n { type: ElementRef, },\n ]; };\n RouterLink.propDecorators = {\n \"queryParams\": [{ type: Input },],\n \"fragment\": [{ type: Input },],\n \"queryParamsHandling\": [{ type: Input },],\n \"preserveFragment\": [{ type: Input },],\n \"skipLocationChange\": [{ type: Input },],\n \"replaceUrl\": [{ type: Input },],\n \"routerLink\": [{ type: Input },],\n \"preserveQueryParams\": [{ type: Input },],\n \"onClick\": [{ type: HostListener, args: ['click',] },],\n };\n return RouterLink;\n}());\n/**\n * \\@whatItDoes Lets you link to specific parts of your app.\n *\n * See {\\@link RouterLink} for more information.\n *\n * \\@ngModule RouterModule\n *\n * \\@stable\n */\nvar RouterLinkWithHref = /** @class */ (function () {\n function RouterLinkWithHref(router, route, locationStrategy) {\n var _this = this;\n this.router = router;\n this.route = route;\n this.locationStrategy = locationStrategy;\n this.commands = [];\n this.subscription = router.events.subscribe(function (s) {\n if (s instanceof NavigationEnd) {\n _this.updateTargetUrlAndHref();\n }\n });\n }\n Object.defineProperty(RouterLinkWithHref.prototype, \"routerLink\", {\n set: /**\n * @param {?} commands\n * @return {?}\n */\n function (commands) {\n if (commands != null) {\n this.commands = Array.isArray(commands) ? commands : [commands];\n }\n else {\n this.commands = [];\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RouterLinkWithHref.prototype, \"preserveQueryParams\", {\n set: /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n if (isDevMode() && /** @type {?} */ (console) && /** @type {?} */ (console.warn)) {\n console.warn('preserveQueryParams is deprecated, use queryParamsHandling instead.');\n }\n this.preserve = value;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} changes\n * @return {?}\n */\n RouterLinkWithHref.prototype.ngOnChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) { this.updateTargetUrlAndHref(); };\n /**\n * @return {?}\n */\n RouterLinkWithHref.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () { this.subscription.unsubscribe(); };\n /**\n * @param {?} button\n * @param {?} ctrlKey\n * @param {?} metaKey\n * @param {?} shiftKey\n * @return {?}\n */\n RouterLinkWithHref.prototype.onClick = /**\n * @param {?} button\n * @param {?} ctrlKey\n * @param {?} metaKey\n * @param {?} shiftKey\n * @return {?}\n */\n function (button, ctrlKey, metaKey, shiftKey) {\n if (button !== 0 || ctrlKey || metaKey || shiftKey) {\n return true;\n }\n if (typeof this.target === 'string' && this.target != '_self') {\n return true;\n }\n var /** @type {?} */ extras = {\n skipLocationChange: attrBoolValue(this.skipLocationChange),\n replaceUrl: attrBoolValue(this.replaceUrl),\n };\n this.router.navigateByUrl(this.urlTree, extras);\n return false;\n };\n /**\n * @return {?}\n */\n RouterLinkWithHref.prototype.updateTargetUrlAndHref = /**\n * @return {?}\n */\n function () {\n this.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree));\n };\n Object.defineProperty(RouterLinkWithHref.prototype, \"urlTree\", {\n get: /**\n * @return {?}\n */\n function () {\n return this.router.createUrlTree(this.commands, {\n relativeTo: this.route,\n queryParams: this.queryParams,\n fragment: this.fragment,\n preserveQueryParams: attrBoolValue(this.preserve),\n queryParamsHandling: this.queryParamsHandling,\n preserveFragment: attrBoolValue(this.preserveFragment),\n });\n },\n enumerable: true,\n configurable: true\n });\n RouterLinkWithHref.decorators = [\n { type: Directive, args: [{ selector: 'a[routerLink]' },] },\n ];\n /** @nocollapse */\n RouterLinkWithHref.ctorParameters = function () { return [\n { type: Router, },\n { type: ActivatedRoute, },\n { type: LocationStrategy, },\n ]; };\n RouterLinkWithHref.propDecorators = {\n \"target\": [{ type: HostBinding, args: ['attr.target',] }, { type: Input },],\n \"queryParams\": [{ type: Input },],\n \"fragment\": [{ type: Input },],\n \"queryParamsHandling\": [{ type: Input },],\n \"preserveFragment\": [{ type: Input },],\n \"skipLocationChange\": [{ type: Input },],\n \"replaceUrl\": [{ type: Input },],\n \"href\": [{ type: HostBinding },],\n \"routerLink\": [{ type: Input },],\n \"preserveQueryParams\": [{ type: Input },],\n \"onClick\": [{ type: HostListener, args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey', '$event.shiftKey'],] },],\n };\n return RouterLinkWithHref;\n}());\n/**\n * @param {?} s\n * @return {?}\n */\nfunction attrBoolValue(s) {\n return s === '' || !!s;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Lets you add a CSS class to an element when the link's route becomes active.\n *\n * \\@howToUse\n *\n * ```\n * Bob\n * ```\n *\n * \\@description\n *\n * The RouterLinkActive directive lets you add a CSS class to an element when the link's route\n * becomes active.\n *\n * Consider the following example:\n *\n * ```\n * Bob\n * ```\n *\n * When the url is either '/user' or '/user/bob', the active-link class will\n * be added to the `a` tag. If the url changes, the class will be removed.\n *\n * You can set more than one class, as follows:\n *\n * ```\n * Bob\n * Bob\n * ```\n *\n * You can configure RouterLinkActive by passing `exact: true`. This will add the classes\n * only when the url matches the link exactly.\n *\n * ```\n * Bob\n * ```\n *\n * You can assign the RouterLinkActive instance to a template variable and directly check\n * the `isActive` status.\n * ```\n * \n * Bob {{ rla.isActive ? '(already open)' : ''}}\n * \n * ```\n *\n * Finally, you can apply the RouterLinkActive directive to an ancestor of a RouterLink.\n *\n * ```\n *
    \n * Jim\n * Bob\n *
    \n * ```\n *\n * This will set the active-link class on the div tag if the url is either '/user/jim' or\n * '/user/bob'.\n *\n * \\@ngModule RouterModule\n *\n * \\@stable\n */\nvar RouterLinkActive = /** @class */ (function () {\n function RouterLinkActive(router, element, renderer, cdr) {\n var _this = this;\n this.router = router;\n this.element = element;\n this.renderer = renderer;\n this.cdr = cdr;\n this.classes = [];\n this.isActive = false;\n this.routerLinkActiveOptions = { exact: false };\n this.subscription = router.events.subscribe(function (s) {\n if (s instanceof NavigationEnd) {\n _this.update();\n }\n });\n }\n /**\n * @return {?}\n */\n RouterLinkActive.prototype.ngAfterContentInit = /**\n * @return {?}\n */\n function () {\n var _this = this;\n this.links.changes.subscribe(function (_) { return _this.update(); });\n this.linksWithHrefs.changes.subscribe(function (_) { return _this.update(); });\n this.update();\n };\n Object.defineProperty(RouterLinkActive.prototype, \"routerLinkActive\", {\n set: /**\n * @param {?} data\n * @return {?}\n */\n function (data) {\n var /** @type {?} */ classes = Array.isArray(data) ? data : data.split(' ');\n this.classes = classes.filter(function (c) { return !!c; });\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} changes\n * @return {?}\n */\n RouterLinkActive.prototype.ngOnChanges = /**\n * @param {?} changes\n * @return {?}\n */\n function (changes) { this.update(); };\n /**\n * @return {?}\n */\n RouterLinkActive.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () { this.subscription.unsubscribe(); };\n /**\n * @return {?}\n */\n RouterLinkActive.prototype.update = /**\n * @return {?}\n */\n function () {\n var _this = this;\n if (!this.links || !this.linksWithHrefs || !this.router.navigated)\n return;\n Promise.resolve().then(function () {\n var /** @type {?} */ hasActiveLinks = _this.hasActiveLinks();\n if (_this.isActive !== hasActiveLinks) {\n (/** @type {?} */ (_this)).isActive = hasActiveLinks;\n _this.classes.forEach(function (c) {\n if (hasActiveLinks) {\n _this.renderer.addClass(_this.element.nativeElement, c);\n }\n else {\n _this.renderer.removeClass(_this.element.nativeElement, c);\n }\n });\n }\n });\n };\n /**\n * @param {?} router\n * @return {?}\n */\n RouterLinkActive.prototype.isLinkActive = /**\n * @param {?} router\n * @return {?}\n */\n function (router) {\n var _this = this;\n return function (link) {\n return router.isActive(link.urlTree, _this.routerLinkActiveOptions.exact);\n };\n };\n /**\n * @return {?}\n */\n RouterLinkActive.prototype.hasActiveLinks = /**\n * @return {?}\n */\n function () {\n return this.links.some(this.isLinkActive(this.router)) ||\n this.linksWithHrefs.some(this.isLinkActive(this.router));\n };\n RouterLinkActive.decorators = [\n { type: Directive, args: [{\n selector: '[routerLinkActive]',\n exportAs: 'routerLinkActive',\n },] },\n ];\n /** @nocollapse */\n RouterLinkActive.ctorParameters = function () { return [\n { type: Router, },\n { type: ElementRef, },\n { type: Renderer2, },\n { type: ChangeDetectorRef, },\n ]; };\n RouterLinkActive.propDecorators = {\n \"links\": [{ type: ContentChildren, args: [RouterLink, { descendants: true },] },],\n \"linksWithHrefs\": [{ type: ContentChildren, args: [RouterLinkWithHref, { descendants: true },] },],\n \"routerLinkActiveOptions\": [{ type: Input },],\n \"routerLinkActive\": [{ type: Input },],\n };\n return RouterLinkActive;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Store contextual information about a {\\@link RouterOutlet}\n *\n * \\@stable\n */\nvar OutletContext = /** @class */ (function () {\n function OutletContext() {\n this.outlet = null;\n this.route = null;\n this.resolver = null;\n this.children = new ChildrenOutletContexts();\n this.attachRef = null;\n }\n return OutletContext;\n}());\n/**\n * Store contextual information about the children (= nested) {\\@link RouterOutlet}\n *\n * \\@stable\n */\nvar ChildrenOutletContexts = /** @class */ (function () {\n function ChildrenOutletContexts() {\n this.contexts = new Map();\n }\n /** Called when a `RouterOutlet` directive is instantiated */\n /**\n * Called when a `RouterOutlet` directive is instantiated\n * @param {?} childName\n * @param {?} outlet\n * @return {?}\n */\n ChildrenOutletContexts.prototype.onChildOutletCreated = /**\n * Called when a `RouterOutlet` directive is instantiated\n * @param {?} childName\n * @param {?} outlet\n * @return {?}\n */\n function (childName, outlet) {\n var /** @type {?} */ context = this.getOrCreateContext(childName);\n context.outlet = outlet;\n this.contexts.set(childName, context);\n };\n /**\n * Called when a `RouterOutlet` directive is destroyed.\n * We need to keep the context as the outlet could be destroyed inside a NgIf and might be\n * re-created later.\n */\n /**\n * Called when a `RouterOutlet` directive is destroyed.\n * We need to keep the context as the outlet could be destroyed inside a NgIf and might be\n * re-created later.\n * @param {?} childName\n * @return {?}\n */\n ChildrenOutletContexts.prototype.onChildOutletDestroyed = /**\n * Called when a `RouterOutlet` directive is destroyed.\n * We need to keep the context as the outlet could be destroyed inside a NgIf and might be\n * re-created later.\n * @param {?} childName\n * @return {?}\n */\n function (childName) {\n var /** @type {?} */ context = this.getContext(childName);\n if (context) {\n context.outlet = null;\n }\n };\n /**\n * Called when the corresponding route is deactivated during navigation.\n * Because the component get destroyed, all children outlet are destroyed.\n */\n /**\n * Called when the corresponding route is deactivated during navigation.\n * Because the component get destroyed, all children outlet are destroyed.\n * @return {?}\n */\n ChildrenOutletContexts.prototype.onOutletDeactivated = /**\n * Called when the corresponding route is deactivated during navigation.\n * Because the component get destroyed, all children outlet are destroyed.\n * @return {?}\n */\n function () {\n var /** @type {?} */ contexts = this.contexts;\n this.contexts = new Map();\n return contexts;\n };\n /**\n * @param {?} contexts\n * @return {?}\n */\n ChildrenOutletContexts.prototype.onOutletReAttached = /**\n * @param {?} contexts\n * @return {?}\n */\n function (contexts) { this.contexts = contexts; };\n /**\n * @param {?} childName\n * @return {?}\n */\n ChildrenOutletContexts.prototype.getOrCreateContext = /**\n * @param {?} childName\n * @return {?}\n */\n function (childName) {\n var /** @type {?} */ context = this.getContext(childName);\n if (!context) {\n context = new OutletContext();\n this.contexts.set(childName, context);\n }\n return context;\n };\n /**\n * @param {?} childName\n * @return {?}\n */\n ChildrenOutletContexts.prototype.getContext = /**\n * @param {?} childName\n * @return {?}\n */\n function (childName) { return this.contexts.get(childName) || null; };\n return ChildrenOutletContexts;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Acts as a placeholder that Angular dynamically fills based on the current router\n * state.\n *\n * \\@howToUse\n *\n * ```\n * \n * \n * \n * ```\n *\n * A router outlet will emit an activate event any time a new component is being instantiated,\n * and a deactivate event when it is being destroyed.\n *\n * ```\n * \n * ```\n * \\@ngModule RouterModule\n *\n * \\@stable\n */\nvar RouterOutlet = /** @class */ (function () {\n function RouterOutlet(parentContexts, location, resolver, name, changeDetector) {\n this.parentContexts = parentContexts;\n this.location = location;\n this.resolver = resolver;\n this.changeDetector = changeDetector;\n this.activated = null;\n this._activatedRoute = null;\n this.activateEvents = new EventEmitter();\n this.deactivateEvents = new EventEmitter();\n this.name = name || PRIMARY_OUTLET;\n parentContexts.onChildOutletCreated(this.name, this);\n }\n /**\n * @return {?}\n */\n RouterOutlet.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () { this.parentContexts.onChildOutletDestroyed(this.name); };\n /**\n * @return {?}\n */\n RouterOutlet.prototype.ngOnInit = /**\n * @return {?}\n */\n function () {\n if (!this.activated) {\n // If the outlet was not instantiated at the time the route got activated we need to populate\n // the outlet when it is initialized (ie inside a NgIf)\n var /** @type {?} */ context = this.parentContexts.getContext(this.name);\n if (context && context.route) {\n if (context.attachRef) {\n // `attachRef` is populated when there is an existing component to mount\n this.attach(context.attachRef, context.route);\n }\n else {\n // otherwise the component defined in the configuration is created\n this.activateWith(context.route, context.resolver || null);\n }\n }\n }\n };\n Object.defineProperty(RouterOutlet.prototype, \"isActivated\", {\n get: /**\n * @return {?}\n */\n function () { return !!this.activated; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RouterOutlet.prototype, \"component\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this.activated)\n throw new Error('Outlet is not activated');\n return this.activated.instance;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RouterOutlet.prototype, \"activatedRoute\", {\n get: /**\n * @return {?}\n */\n function () {\n if (!this.activated)\n throw new Error('Outlet is not activated');\n return /** @type {?} */ (this._activatedRoute);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RouterOutlet.prototype, \"activatedRouteData\", {\n get: /**\n * @return {?}\n */\n function () {\n if (this._activatedRoute) {\n return this._activatedRoute.snapshot.data;\n }\n return {};\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Called when the `RouteReuseStrategy` instructs to detach the subtree\n */\n /**\n * Called when the `RouteReuseStrategy` instructs to detach the subtree\n * @return {?}\n */\n RouterOutlet.prototype.detach = /**\n * Called when the `RouteReuseStrategy` instructs to detach the subtree\n * @return {?}\n */\n function () {\n if (!this.activated)\n throw new Error('Outlet is not activated');\n this.location.detach();\n var /** @type {?} */ cmp = this.activated;\n this.activated = null;\n this._activatedRoute = null;\n return cmp;\n };\n /**\n * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree\n */\n /**\n * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree\n * @param {?} ref\n * @param {?} activatedRoute\n * @return {?}\n */\n RouterOutlet.prototype.attach = /**\n * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree\n * @param {?} ref\n * @param {?} activatedRoute\n * @return {?}\n */\n function (ref, activatedRoute) {\n this.activated = ref;\n this._activatedRoute = activatedRoute;\n this.location.insert(ref.hostView);\n };\n /**\n * @return {?}\n */\n RouterOutlet.prototype.deactivate = /**\n * @return {?}\n */\n function () {\n if (this.activated) {\n var /** @type {?} */ c = this.component;\n this.activated.destroy();\n this.activated = null;\n this._activatedRoute = null;\n this.deactivateEvents.emit(c);\n }\n };\n /**\n * @param {?} activatedRoute\n * @param {?} resolver\n * @return {?}\n */\n RouterOutlet.prototype.activateWith = /**\n * @param {?} activatedRoute\n * @param {?} resolver\n * @return {?}\n */\n function (activatedRoute, resolver) {\n if (this.isActivated) {\n throw new Error('Cannot activate an already activated outlet');\n }\n this._activatedRoute = activatedRoute;\n var /** @type {?} */ snapshot = activatedRoute._futureSnapshot;\n var /** @type {?} */ component = /** @type {?} */ (/** @type {?} */ ((snapshot.routeConfig)).component);\n resolver = resolver || this.resolver;\n var /** @type {?} */ factory = resolver.resolveComponentFactory(component);\n var /** @type {?} */ childContexts = this.parentContexts.getOrCreateContext(this.name).children;\n var /** @type {?} */ injector = new OutletInjector(activatedRoute, childContexts, this.location.injector);\n this.activated = this.location.createComponent(factory, this.location.length, injector);\n // Calling `markForCheck` to make sure we will run the change detection when the\n // `RouterOutlet` is inside a `ChangeDetectionStrategy.OnPush` component.\n this.changeDetector.markForCheck();\n this.activateEvents.emit(this.activated.instance);\n };\n RouterOutlet.decorators = [\n { type: Directive, args: [{ selector: 'router-outlet', exportAs: 'outlet' },] },\n ];\n /** @nocollapse */\n RouterOutlet.ctorParameters = function () { return [\n { type: ChildrenOutletContexts, },\n { type: ViewContainerRef, },\n { type: ComponentFactoryResolver, },\n { type: undefined, decorators: [{ type: Attribute, args: ['name',] },] },\n { type: ChangeDetectorRef, },\n ]; };\n RouterOutlet.propDecorators = {\n \"activateEvents\": [{ type: Output, args: ['activate',] },],\n \"deactivateEvents\": [{ type: Output, args: ['deactivate',] },],\n };\n return RouterOutlet;\n}());\nvar OutletInjector = /** @class */ (function () {\n function OutletInjector(route, childContexts, parent) {\n this.route = route;\n this.childContexts = childContexts;\n this.parent = parent;\n }\n /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n OutletInjector.prototype.get = /**\n * @param {?} token\n * @param {?=} notFoundValue\n * @return {?}\n */\n function (token, notFoundValue) {\n if (token === ActivatedRoute) {\n return this.route;\n }\n if (token === ChildrenOutletContexts) {\n return this.childContexts;\n }\n return this.parent.get(token, notFoundValue);\n };\n return OutletInjector;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n*@license\n*Copyright Google Inc. All Rights Reserved.\n*\n*Use of this source code is governed by an MIT-style license that can be\n*found in the LICENSE file at https://angular.io/license\n*/\n/**\n * \\@whatItDoes Provides a preloading strategy.\n *\n * \\@experimental\n * @abstract\n */\nvar PreloadingStrategy = /** @class */ (function () {\n function PreloadingStrategy() {\n }\n return PreloadingStrategy;\n}());\n/**\n * \\@whatItDoes Provides a preloading strategy that preloads all modules as quickly as possible.\n *\n * \\@howToUse\n *\n * ```\n * RouteModule.forRoot(ROUTES, {preloadingStrategy: PreloadAllModules})\n * ```\n *\n * \\@experimental\n */\nvar PreloadAllModules = /** @class */ (function () {\n function PreloadAllModules() {\n }\n /**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\n PreloadAllModules.prototype.preload = /**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\n function (route, fn) {\n return _catch.call(fn(), function () { return of(null); });\n };\n return PreloadAllModules;\n}());\n/**\n * \\@whatItDoes Provides a preloading strategy that does not preload any modules.\n *\n * \\@description\n *\n * This strategy is enabled by default.\n *\n * \\@experimental\n */\nvar NoPreloading = /** @class */ (function () {\n function NoPreloading() {\n }\n /**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\n NoPreloading.prototype.preload = /**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\n function (route, fn) { return of(null); };\n return NoPreloading;\n}());\n/**\n * The preloader optimistically loads all router configurations to\n * make navigations into lazily-loaded sections of the application faster.\n *\n * The preloader runs in the background. When the router bootstraps, the preloader\n * starts listening to all navigation events. After every such event, the preloader\n * will check if any configurations can be loaded lazily.\n *\n * If a route is protected by `canLoad` guards, the preloaded will not load it.\n *\n * \\@stable\n */\nvar RouterPreloader = /** @class */ (function () {\n function RouterPreloader(router, moduleLoader, compiler, injector, preloadingStrategy) {\n this.router = router;\n this.injector = injector;\n this.preloadingStrategy = preloadingStrategy;\n var /** @type {?} */ onStartLoad = function (r) { return router.triggerEvent(new RouteConfigLoadStart(r)); };\n var /** @type {?} */ onEndLoad = function (r) { return router.triggerEvent(new RouteConfigLoadEnd(r)); };\n this.loader = new RouterConfigLoader(moduleLoader, compiler, onStartLoad, onEndLoad);\n }\n /**\n * @return {?}\n */\n RouterPreloader.prototype.setUpPreloading = /**\n * @return {?}\n */\n function () {\n var _this = this;\n var /** @type {?} */ navigations$ = filter.call(this.router.events, function (e) { return e instanceof NavigationEnd; });\n this.subscription = concatMap.call(navigations$, function () { return _this.preload(); }).subscribe(function () { });\n };\n /**\n * @return {?}\n */\n RouterPreloader.prototype.preload = /**\n * @return {?}\n */\n function () {\n var /** @type {?} */ ngModule = this.injector.get(NgModuleRef);\n return this.processRoutes(ngModule, this.router.config);\n };\n // TODO(jasonaden): This class relies on code external to the class to call setUpPreloading. If\n // this hasn't been done, ngOnDestroy will fail as this.subscription will be undefined. This\n // should be refactored.\n /**\n * @return {?}\n */\n RouterPreloader.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () { this.subscription.unsubscribe(); };\n /**\n * @param {?} ngModule\n * @param {?} routes\n * @return {?}\n */\n RouterPreloader.prototype.processRoutes = /**\n * @param {?} ngModule\n * @param {?} routes\n * @return {?}\n */\n function (ngModule, routes) {\n var /** @type {?} */ res = [];\n for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {\n var route = routes_1[_i];\n // we already have the config loaded, just recurse\n if (route.loadChildren && !route.canLoad && route._loadedConfig) {\n var /** @type {?} */ childConfig = route._loadedConfig;\n res.push(this.processRoutes(childConfig.module, childConfig.routes));\n // no config loaded, fetch the config\n }\n else if (route.loadChildren && !route.canLoad) {\n res.push(this.preloadConfig(ngModule, route));\n // recurse into children\n }\n else if (route.children) {\n res.push(this.processRoutes(ngModule, route.children));\n }\n }\n return mergeAll.call(from(res));\n };\n /**\n * @param {?} ngModule\n * @param {?} route\n * @return {?}\n */\n RouterPreloader.prototype.preloadConfig = /**\n * @param {?} ngModule\n * @param {?} route\n * @return {?}\n */\n function (ngModule, route) {\n var _this = this;\n return this.preloadingStrategy.preload(route, function () {\n var /** @type {?} */ loaded$ = _this.loader.load(ngModule.injector, route);\n return mergeMap.call(loaded$, function (config) {\n route._loadedConfig = config;\n return _this.processRoutes(config.module, config.routes);\n });\n });\n };\n RouterPreloader.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n RouterPreloader.ctorParameters = function () { return [\n { type: Router, },\n { type: NgModuleFactoryLoader, },\n { type: Compiler, },\n { type: Injector, },\n { type: PreloadingStrategy, },\n ]; };\n return RouterPreloader;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@whatItDoes Contains a list of directives\n * \\@stable\n */\nvar ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive];\n/**\n * \\@whatItDoes Is used in DI to configure the router.\n * \\@stable\n */\nvar ROUTER_CONFIGURATION = new InjectionToken('ROUTER_CONFIGURATION');\n/**\n * \\@docsNotRequired\n */\nvar ROUTER_FORROOT_GUARD = new InjectionToken('ROUTER_FORROOT_GUARD');\nvar ROUTER_PROVIDERS = [\n Location,\n { provide: UrlSerializer, useClass: DefaultUrlSerializer },\n {\n provide: Router,\n useFactory: setupRouter,\n deps: [\n ApplicationRef, UrlSerializer, ChildrenOutletContexts, Location, Injector,\n NgModuleFactoryLoader, Compiler, ROUTES, ROUTER_CONFIGURATION,\n [UrlHandlingStrategy, new Optional()], [RouteReuseStrategy, new Optional()]\n ]\n },\n ChildrenOutletContexts,\n { provide: ActivatedRoute, useFactory: rootRoute, deps: [Router] },\n { provide: NgModuleFactoryLoader, useClass: SystemJsNgModuleLoader },\n RouterPreloader,\n NoPreloading,\n PreloadAllModules,\n { provide: ROUTER_CONFIGURATION, useValue: { enableTracing: false } },\n];\n/**\n * @return {?}\n */\nfunction routerNgProbeToken() {\n return new NgProbeToken('Router', Router);\n}\n/**\n * \\@whatItDoes Adds router directives and providers.\n *\n * \\@howToUse\n *\n * RouterModule can be imported multiple times: once per lazily-loaded bundle.\n * Since the router deals with a global shared resource--location, we cannot have\n * more than one router service active.\n *\n * That is why there are two ways to create the module: `RouterModule.forRoot` and\n * `RouterModule.forChild`.\n *\n * * `forRoot` creates a module that contains all the directives, the given routes, and the router\n * service itself.\n * * `forChild` creates a module that contains all the directives and the given routes, but does not\n * include the router service.\n *\n * When registered at the root, the module should be used as follows\n *\n * ```\n * \\@NgModule({\n * imports: [RouterModule.forRoot(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n *\n * For submodules and lazy loaded submodules the module should be used as follows:\n *\n * ```\n * \\@NgModule({\n * imports: [RouterModule.forChild(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n *\n * \\@description\n *\n * Managing state transitions is one of the hardest parts of building applications. This is\n * especially true on the web, where you also need to ensure that the state is reflected in the URL.\n * In addition, we often want to split applications into multiple bundles and load them on demand.\n * Doing this transparently is not trivial.\n *\n * The Angular router solves these problems. Using the router, you can declaratively specify\n * application states, manage state transitions while taking care of the URL, and load bundles on\n * demand.\n *\n * [Read this developer guide](https://angular.io/docs/ts/latest/guide/router.html) to get an\n * overview of how the router should be used.\n *\n * \\@stable\n */\nvar RouterModule = /** @class */ (function () {\n // Note: We are injecting the Router so it gets created eagerly...\n function RouterModule(guard, router) {\n }\n /**\n * Creates a module with all the router providers and directives. It also optionally sets up an\n * application listener to perform an initial navigation.\n *\n * Options (see {@link ExtraOptions}):\n * * `enableTracing` makes the router log all its internal events to the console.\n * * `useHash` enables the location strategy that uses the URL fragment instead of the history\n * API.\n * * `initialNavigation` disables the initial navigation.\n * * `errorHandler` provides a custom error handler.\n * * `preloadingStrategy` configures a preloading strategy (see {@link PreloadAllModules}).\n * * `onSameUrlNavigation` configures how the router handles navigation to the current URL. See\n * {@link ExtraOptions} for more details.\n */\n /**\n * Creates a module with all the router providers and directives. It also optionally sets up an\n * application listener to perform an initial navigation.\n *\n * Options (see {\\@link ExtraOptions}):\n * * `enableTracing` makes the router log all its internal events to the console.\n * * `useHash` enables the location strategy that uses the URL fragment instead of the history\n * API.\n * * `initialNavigation` disables the initial navigation.\n * * `errorHandler` provides a custom error handler.\n * * `preloadingStrategy` configures a preloading strategy (see {\\@link PreloadAllModules}).\n * * `onSameUrlNavigation` configures how the router handles navigation to the current URL. See\n * {\\@link ExtraOptions} for more details.\n * @param {?} routes\n * @param {?=} config\n * @return {?}\n */\n RouterModule.forRoot = /**\n * Creates a module with all the router providers and directives. It also optionally sets up an\n * application listener to perform an initial navigation.\n *\n * Options (see {\\@link ExtraOptions}):\n * * `enableTracing` makes the router log all its internal events to the console.\n * * `useHash` enables the location strategy that uses the URL fragment instead of the history\n * API.\n * * `initialNavigation` disables the initial navigation.\n * * `errorHandler` provides a custom error handler.\n * * `preloadingStrategy` configures a preloading strategy (see {\\@link PreloadAllModules}).\n * * `onSameUrlNavigation` configures how the router handles navigation to the current URL. See\n * {\\@link ExtraOptions} for more details.\n * @param {?} routes\n * @param {?=} config\n * @return {?}\n */\n function (routes, config) {\n return {\n ngModule: RouterModule,\n providers: [\n ROUTER_PROVIDERS,\n provideRoutes(routes),\n {\n provide: ROUTER_FORROOT_GUARD,\n useFactory: provideForRootGuard,\n deps: [[Router, new Optional(), new SkipSelf()]]\n },\n { provide: ROUTER_CONFIGURATION, useValue: config ? config : {} },\n {\n provide: LocationStrategy,\n useFactory: provideLocationStrategy,\n deps: [\n PlatformLocation, [new Inject(APP_BASE_HREF), new Optional()], ROUTER_CONFIGURATION\n ]\n },\n {\n provide: PreloadingStrategy,\n useExisting: config && config.preloadingStrategy ? config.preloadingStrategy :\n NoPreloading\n },\n { provide: NgProbeToken, multi: true, useFactory: routerNgProbeToken },\n provideRouterInitializer(),\n ],\n };\n };\n /**\n * Creates a module with all the router directives and a provider registering routes.\n */\n /**\n * Creates a module with all the router directives and a provider registering routes.\n * @param {?} routes\n * @return {?}\n */\n RouterModule.forChild = /**\n * Creates a module with all the router directives and a provider registering routes.\n * @param {?} routes\n * @return {?}\n */\n function (routes) {\n return { ngModule: RouterModule, providers: [provideRoutes(routes)] };\n };\n RouterModule.decorators = [\n { type: NgModule, args: [{ declarations: ROUTER_DIRECTIVES, exports: ROUTER_DIRECTIVES },] },\n ];\n /** @nocollapse */\n RouterModule.ctorParameters = function () { return [\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [ROUTER_FORROOT_GUARD,] },] },\n { type: Router, decorators: [{ type: Optional },] },\n ]; };\n return RouterModule;\n}());\n/**\n * @param {?} platformLocationStrategy\n * @param {?} baseHref\n * @param {?=} options\n * @return {?}\n */\nfunction provideLocationStrategy(platformLocationStrategy, baseHref, options) {\n if (options === void 0) { options = {}; }\n return options.useHash ? new HashLocationStrategy(platformLocationStrategy, baseHref) :\n new PathLocationStrategy(platformLocationStrategy, baseHref);\n}\n/**\n * @param {?} router\n * @return {?}\n */\nfunction provideForRootGuard(router) {\n if (router) {\n throw new Error(\"RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.\");\n }\n return 'guarded';\n}\n/**\n * \\@whatItDoes Registers routes.\n *\n * \\@howToUse\n *\n * ```\n * \\@NgModule({\n * imports: [RouterModule.forChild(ROUTES)],\n * providers: [provideRoutes(EXTRA_ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n *\n * \\@stable\n * @param {?} routes\n * @return {?}\n */\nfunction provideRoutes(routes) {\n return [\n { provide: ANALYZE_FOR_ENTRY_COMPONENTS, multi: true, useValue: routes },\n { provide: ROUTES, multi: true, useValue: routes },\n ];\n}\n/**\n * \\@whatItDoes Represents options to configure the router.\n *\n * \\@stable\n * @record\n */\n\n/**\n * @param {?} ref\n * @param {?} urlSerializer\n * @param {?} contexts\n * @param {?} location\n * @param {?} injector\n * @param {?} loader\n * @param {?} compiler\n * @param {?} config\n * @param {?=} opts\n * @param {?=} urlHandlingStrategy\n * @param {?=} routeReuseStrategy\n * @return {?}\n */\nfunction setupRouter(ref, urlSerializer, contexts, location, injector, loader, compiler, config, opts, urlHandlingStrategy, routeReuseStrategy) {\n if (opts === void 0) { opts = {}; }\n var /** @type {?} */ router = new Router(null, urlSerializer, contexts, location, injector, loader, compiler, flatten(config));\n if (urlHandlingStrategy) {\n router.urlHandlingStrategy = urlHandlingStrategy;\n }\n if (routeReuseStrategy) {\n router.routeReuseStrategy = routeReuseStrategy;\n }\n if (opts.errorHandler) {\n router.errorHandler = opts.errorHandler;\n }\n if (opts.enableTracing) {\n var /** @type {?} */ dom_1 = ɵgetDOM();\n router.events.subscribe(function (e) {\n dom_1.logGroup(\"Router Event: \" + ((/** @type {?} */ (e.constructor))).name);\n dom_1.log(e.toString());\n dom_1.log(e);\n dom_1.logGroupEnd();\n });\n }\n if (opts.onSameUrlNavigation) {\n router.onSameUrlNavigation = opts.onSameUrlNavigation;\n }\n if (opts.paramsInheritanceStrategy) {\n router.paramsInheritanceStrategy = opts.paramsInheritanceStrategy;\n }\n return router;\n}\n/**\n * @param {?} router\n * @return {?}\n */\nfunction rootRoute(router) {\n return router.routerState.root;\n}\n/**\n * To initialize the router properly we need to do in two steps:\n *\n * We need to start the navigation in a APP_INITIALIZER to block the bootstrap if\n * a resolver or a guards executes asynchronously. Second, we need to actually run\n * activation in a BOOTSTRAP_LISTENER. We utilize the afterPreactivation\n * hook provided by the router to do that.\n *\n * The router navigation starts, reaches the point when preactivation is done, and then\n * pauses. It waits for the hook to be resolved. We then resolve it only in a bootstrap listener.\n */\nvar RouterInitializer = /** @class */ (function () {\n function RouterInitializer(injector) {\n this.injector = injector;\n this.initNavigation = false;\n this.resultOfPreactivationDone = new Subject();\n }\n /**\n * @return {?}\n */\n RouterInitializer.prototype.appInitializer = /**\n * @return {?}\n */\n function () {\n var _this = this;\n var /** @type {?} */ p = this.injector.get(LOCATION_INITIALIZED, Promise.resolve(null));\n return p.then(function () {\n var /** @type {?} */ resolve = /** @type {?} */ ((null));\n var /** @type {?} */ res = new Promise(function (r) { return resolve = r; });\n var /** @type {?} */ router = _this.injector.get(Router);\n var /** @type {?} */ opts = _this.injector.get(ROUTER_CONFIGURATION);\n if (_this.isLegacyDisabled(opts) || _this.isLegacyEnabled(opts)) {\n resolve(true);\n }\n else if (opts.initialNavigation === 'disabled') {\n router.setUpLocationChangeListener();\n resolve(true);\n }\n else if (opts.initialNavigation === 'enabled') {\n router.hooks.afterPreactivation = function () {\n // only the initial navigation should be delayed\n if (!_this.initNavigation) {\n _this.initNavigation = true;\n resolve(true);\n return _this.resultOfPreactivationDone;\n // subsequent navigations should not be delayed\n }\n else {\n return /** @type {?} */ (of(null));\n }\n };\n router.initialNavigation();\n }\n else {\n throw new Error(\"Invalid initialNavigation options: '\" + opts.initialNavigation + \"'\");\n }\n return res;\n });\n };\n /**\n * @param {?} bootstrappedComponentRef\n * @return {?}\n */\n RouterInitializer.prototype.bootstrapListener = /**\n * @param {?} bootstrappedComponentRef\n * @return {?}\n */\n function (bootstrappedComponentRef) {\n var /** @type {?} */ opts = this.injector.get(ROUTER_CONFIGURATION);\n var /** @type {?} */ preloader = this.injector.get(RouterPreloader);\n var /** @type {?} */ router = this.injector.get(Router);\n var /** @type {?} */ ref = this.injector.get(ApplicationRef);\n if (bootstrappedComponentRef !== ref.components[0]) {\n return;\n }\n if (this.isLegacyEnabled(opts)) {\n router.initialNavigation();\n }\n else if (this.isLegacyDisabled(opts)) {\n router.setUpLocationChangeListener();\n }\n preloader.setUpPreloading();\n router.resetRootComponentType(ref.componentTypes[0]);\n this.resultOfPreactivationDone.next(/** @type {?} */ ((null)));\n this.resultOfPreactivationDone.complete();\n };\n /**\n * @param {?} opts\n * @return {?}\n */\n RouterInitializer.prototype.isLegacyEnabled = /**\n * @param {?} opts\n * @return {?}\n */\n function (opts) {\n return opts.initialNavigation === 'legacy_enabled' || opts.initialNavigation === true ||\n opts.initialNavigation === undefined;\n };\n /**\n * @param {?} opts\n * @return {?}\n */\n RouterInitializer.prototype.isLegacyDisabled = /**\n * @param {?} opts\n * @return {?}\n */\n function (opts) {\n return opts.initialNavigation === 'legacy_disabled' || opts.initialNavigation === false;\n };\n RouterInitializer.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n RouterInitializer.ctorParameters = function () { return [\n { type: Injector, },\n ]; };\n return RouterInitializer;\n}());\n/**\n * @param {?} r\n * @return {?}\n */\nfunction getAppInitializer(r) {\n return r.appInitializer.bind(r);\n}\n/**\n * @param {?} r\n * @return {?}\n */\nfunction getBootstrapListener(r) {\n return r.bootstrapListener.bind(r);\n}\n/**\n * A token for the router initializer that will be called after the app is bootstrapped.\n *\n * \\@experimental\n */\nvar ROUTER_INITIALIZER = new InjectionToken('Router Initializer');\n/**\n * @return {?}\n */\nfunction provideRouterInitializer() {\n return [\n RouterInitializer,\n {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: getAppInitializer,\n deps: [RouterInitializer]\n },\n { provide: ROUTER_INITIALIZER, useFactory: getBootstrapListener, deps: [RouterInitializer] },\n { provide: APP_BOOTSTRAP_LISTENER, multi: true, useExisting: ROUTER_INITIALIZER },\n ];\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@stable\n */\nvar VERSION = new Version('5.2.0');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { RouterLink, RouterLinkWithHref, RouterLinkActive, RouterOutlet, ActivationEnd, ActivationStart, ChildActivationEnd, ChildActivationStart, GuardsCheckEnd, GuardsCheckStart, NavigationCancel, NavigationEnd, NavigationError, NavigationStart, ResolveEnd, ResolveStart, RouteConfigLoadEnd, RouteConfigLoadStart, RouterEvent, RoutesRecognized, RouteReuseStrategy, Router, ROUTES, ROUTER_CONFIGURATION, ROUTER_INITIALIZER, RouterModule, provideRoutes, ChildrenOutletContexts, OutletContext, NoPreloading, PreloadAllModules, PreloadingStrategy, RouterPreloader, ActivatedRoute, ActivatedRouteSnapshot, RouterState, RouterStateSnapshot, PRIMARY_OUTLET, convertToParamMap, UrlHandlingStrategy, DefaultUrlSerializer, UrlSegment, UrlSegmentGroup, UrlSerializer, UrlTree, VERSION, ROUTER_PROVIDERS as ɵROUTER_PROVIDERS, flatten as ɵflatten, ROUTER_FORROOT_GUARD as ɵa, RouterInitializer as ɵg, getAppInitializer as ɵh, getBootstrapListener as ɵi, provideForRootGuard as ɵd, provideLocationStrategy as ɵc, provideRouterInitializer as ɵj, rootRoute as ɵf, routerNgProbeToken as ɵb, setupRouter as ɵe, Tree as ɵk, TreeNode as ɵl };\n//# sourceMappingURL=router.js.map\n","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\nimport { __assign, __extends } from 'tslib';\nimport { Directive, ElementRef, EventEmitter, Host, Inject, Injectable, InjectionToken, Injector, Input, NgModule, Optional, Output, Renderer2, Self, SkipSelf, Version, forwardRef, ɵisObservable, ɵisPromise, ɵlooseIdentical } from '@angular/core';\nimport { forkJoin } from 'rxjs/observable/forkJoin';\nimport { fromPromise } from 'rxjs/observable/fromPromise';\nimport { map } from 'rxjs/operator/map';\nimport { ɵgetDOM } from '@angular/platform-browser';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Base class for control directives.\n *\n * Only used internally in the forms module.\n *\n * \\@stable\n * @abstract\n */\nvar AbstractControlDirective = /** @class */ (function () {\n function AbstractControlDirective() {\n }\n Object.defineProperty(AbstractControlDirective.prototype, \"value\", {\n /** The value of the control. */\n get: /**\n * The value of the control.\n * @return {?}\n */\n function () { return this.control ? this.control.value : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"valid\", {\n /**\n * A control is `valid` when its `status === VALID`.\n *\n * In order to have this status, the control must have passed all its\n * validation checks.\n */\n get: /**\n * A control is `valid` when its `status === VALID`.\n *\n * In order to have this status, the control must have passed all its\n * validation checks.\n * @return {?}\n */\n function () { return this.control ? this.control.valid : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"invalid\", {\n /**\n * A control is `invalid` when its `status === INVALID`.\n *\n * In order to have this status, the control must have failed\n * at least one of its validation checks.\n */\n get: /**\n * A control is `invalid` when its `status === INVALID`.\n *\n * In order to have this status, the control must have failed\n * at least one of its validation checks.\n * @return {?}\n */\n function () { return this.control ? this.control.invalid : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"pending\", {\n /**\n * A control is `pending` when its `status === PENDING`.\n *\n * In order to have this status, the control must be in the\n * middle of conducting a validation check.\n */\n get: /**\n * A control is `pending` when its `status === PENDING`.\n *\n * In order to have this status, the control must be in the\n * middle of conducting a validation check.\n * @return {?}\n */\n function () { return this.control ? this.control.pending : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"disabled\", {\n /**\n * A control is `disabled` when its `status === DISABLED`.\n *\n * Disabled controls are exempt from validation checks and\n * are not included in the aggregate value of their ancestor\n * controls.\n */\n get: /**\n * A control is `disabled` when its `status === DISABLED`.\n *\n * Disabled controls are exempt from validation checks and\n * are not included in the aggregate value of their ancestor\n * controls.\n * @return {?}\n */\n function () { return this.control ? this.control.disabled : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"enabled\", {\n /**\n * A control is `enabled` as long as its `status !== DISABLED`.\n *\n * In other words, it has a status of `VALID`, `INVALID`, or\n * `PENDING`.\n */\n get: /**\n * A control is `enabled` as long as its `status !== DISABLED`.\n *\n * In other words, it has a status of `VALID`, `INVALID`, or\n * `PENDING`.\n * @return {?}\n */\n function () { return this.control ? this.control.enabled : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"errors\", {\n /**\n * Returns any errors generated by failing validation. If there\n * are no errors, it will return null.\n */\n get: /**\n * Returns any errors generated by failing validation. If there\n * are no errors, it will return null.\n * @return {?}\n */\n function () { return this.control ? this.control.errors : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"pristine\", {\n /**\n * A control is `pristine` if the user has not yet changed\n * the value in the UI.\n *\n * Note that programmatic changes to a control's value will\n * *not* mark it dirty.\n */\n get: /**\n * A control is `pristine` if the user has not yet changed\n * the value in the UI.\n *\n * Note that programmatic changes to a control's value will\n * *not* mark it dirty.\n * @return {?}\n */\n function () { return this.control ? this.control.pristine : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"dirty\", {\n /**\n * A control is `dirty` if the user has changed the value\n * in the UI.\n *\n * Note that programmatic changes to a control's value will\n * *not* mark it dirty.\n */\n get: /**\n * A control is `dirty` if the user has changed the value\n * in the UI.\n *\n * Note that programmatic changes to a control's value will\n * *not* mark it dirty.\n * @return {?}\n */\n function () { return this.control ? this.control.dirty : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"touched\", {\n /**\n * A control is marked `touched` once the user has triggered\n * a `blur` event on it.\n */\n get: /**\n * A control is marked `touched` once the user has triggered\n * a `blur` event on it.\n * @return {?}\n */\n function () { return this.control ? this.control.touched : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"status\", {\n get: /**\n * @return {?}\n */\n function () { return this.control ? this.control.status : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"untouched\", {\n /**\n * A control is `untouched` if the user has not yet triggered\n * a `blur` event on it.\n */\n get: /**\n * A control is `untouched` if the user has not yet triggered\n * a `blur` event on it.\n * @return {?}\n */\n function () { return this.control ? this.control.untouched : null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"statusChanges\", {\n /**\n * Emits an event every time the validation status of the control\n * is re-calculated.\n */\n get: /**\n * Emits an event every time the validation status of the control\n * is re-calculated.\n * @return {?}\n */\n function () {\n return this.control ? this.control.statusChanges : null;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"valueChanges\", {\n /**\n * Emits an event every time the value of the control changes, in\n * the UI or programmatically.\n */\n get: /**\n * Emits an event every time the value of the control changes, in\n * the UI or programmatically.\n * @return {?}\n */\n function () {\n return this.control ? this.control.valueChanges : null;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AbstractControlDirective.prototype, \"path\", {\n /**\n * Returns an array that represents the path from the top-level form\n * to this control. Each index is the string name of the control on\n * that level.\n */\n get: /**\n * Returns an array that represents the path from the top-level form\n * to this control. Each index is the string name of the control on\n * that level.\n * @return {?}\n */\n function () { return null; },\n enumerable: true,\n configurable: true\n });\n /**\n * Resets the form control. This means by default:\n *\n * * it is marked as `pristine`\n * * it is marked as `untouched`\n * * value is set to null\n *\n * For more information, see {@link AbstractControl}.\n */\n /**\n * Resets the form control. This means by default:\n *\n * * it is marked as `pristine`\n * * it is marked as `untouched`\n * * value is set to null\n *\n * For more information, see {\\@link AbstractControl}.\n * @param {?=} value\n * @return {?}\n */\n AbstractControlDirective.prototype.reset = /**\n * Resets the form control. This means by default:\n *\n * * it is marked as `pristine`\n * * it is marked as `untouched`\n * * value is set to null\n *\n * For more information, see {\\@link AbstractControl}.\n * @param {?=} value\n * @return {?}\n */\n function (value) {\n if (value === void 0) { value = undefined; }\n if (this.control)\n this.control.reset(value);\n };\n /**\n * Returns true if the control with the given path has the error specified. Otherwise\n * returns false.\n *\n * If no path is given, it checks for the error on the present control.\n */\n /**\n * Returns true if the control with the given path has the error specified. Otherwise\n * returns false.\n *\n * If no path is given, it checks for the error on the present control.\n * @param {?} errorCode\n * @param {?=} path\n * @return {?}\n */\n AbstractControlDirective.prototype.hasError = /**\n * Returns true if the control with the given path has the error specified. Otherwise\n * returns false.\n *\n * If no path is given, it checks for the error on the present control.\n * @param {?} errorCode\n * @param {?=} path\n * @return {?}\n */\n function (errorCode, path) {\n return this.control ? this.control.hasError(errorCode, path) : false;\n };\n /**\n * Returns error data if the control with the given path has the error specified. Otherwise\n * returns null or undefined.\n *\n * If no path is given, it checks for the error on the present control.\n */\n /**\n * Returns error data if the control with the given path has the error specified. Otherwise\n * returns null or undefined.\n *\n * If no path is given, it checks for the error on the present control.\n * @param {?} errorCode\n * @param {?=} path\n * @return {?}\n */\n AbstractControlDirective.prototype.getError = /**\n * Returns error data if the control with the given path has the error specified. Otherwise\n * returns null or undefined.\n *\n * If no path is given, it checks for the error on the present control.\n * @param {?} errorCode\n * @param {?=} path\n * @return {?}\n */\n function (errorCode, path) {\n return this.control ? this.control.getError(errorCode, path) : null;\n };\n return AbstractControlDirective;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A directive that contains multiple {\\@link NgControl}s.\n *\n * Only used by the forms module.\n *\n * \\@stable\n * @abstract\n */\nvar ControlContainer = /** @class */ (function (_super) {\n __extends(ControlContainer, _super);\n function ControlContainer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ControlContainer.prototype, \"formDirective\", {\n /**\n * Get the form to which this container belongs.\n */\n get: /**\n * Get the form to which this container belongs.\n * @return {?}\n */\n function () { return null; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ControlContainer.prototype, \"path\", {\n /**\n * Get the path to this container.\n */\n get: /**\n * Get the path to this container.\n * @return {?}\n */\n function () { return null; },\n enumerable: true,\n configurable: true\n });\n return ControlContainer;\n}(AbstractControlDirective));\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isEmptyInputValue(value) {\n // we don't check for string here so it also works with arrays\n return value == null || value.length === 0;\n}\n/**\n * Providers for validators to be used for {\\@link FormControl}s in a form.\n *\n * Provide this using `multi: true` to add validators.\n *\n * ### Example\n *\n * ```typescript\n * \\@Directive({\n * selector: '[custom-validator]',\n * providers: [{provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true}]\n * })\n * class CustomValidatorDirective implements Validator {\n * validate(control: AbstractControl): ValidationErrors | null {\n * return {\"custom\": true};\n * }\n * }\n * ```\n *\n * \\@stable\n */\nvar NG_VALIDATORS = new InjectionToken('NgValidators');\n/**\n * Providers for asynchronous validators to be used for {\\@link FormControl}s\n * in a form.\n *\n * Provide this using `multi: true` to add validators.\n *\n * See {\\@link NG_VALIDATORS} for more details.\n *\n * \\@stable\n */\nvar NG_ASYNC_VALIDATORS = new InjectionToken('NgAsyncValidators');\nvar EMAIL_REGEXP = /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;\n/**\n * Provides a set of validators used by form controls.\n *\n * A validator is a function that processes a {\\@link FormControl} or collection of\n * controls and returns a map of errors. A null map means that validation has passed.\n *\n * ### Example\n *\n * ```typescript\n * var loginControl = new FormControl(\"\", Validators.required)\n * ```\n *\n * \\@stable\n */\nvar Validators = /** @class */ (function () {\n function Validators() {\n }\n /**\n * Validator that requires controls to have a value greater than a number.\n *`min()` exists only as a function, not as a directive. For example,\n * `control = new FormControl('', Validators.min(3));`.\n */\n /**\n * Validator that requires controls to have a value greater than a number.\n * `min()` exists only as a function, not as a directive. For example,\n * `control = new FormControl('', Validators.min(3));`.\n * @param {?} min\n * @return {?}\n */\n Validators.min = /**\n * Validator that requires controls to have a value greater than a number.\n * `min()` exists only as a function, not as a directive. For example,\n * `control = new FormControl('', Validators.min(3));`.\n * @param {?} min\n * @return {?}\n */\n function (min) {\n return function (control) {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(min)) {\n return null; // don't validate empty values to allow optional controls\n }\n var /** @type {?} */ value = parseFloat(control.value);\n // Controls with NaN values after parsing should be treated as not having a\n // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min\n return !isNaN(value) && value < min ? { 'min': { 'min': min, 'actual': control.value } } : null;\n };\n };\n /**\n * Validator that requires controls to have a value less than a number.\n * `max()` exists only as a function, not as a directive. For example,\n * `control = new FormControl('', Validators.max(15));`.\n */\n /**\n * Validator that requires controls to have a value less than a number.\n * `max()` exists only as a function, not as a directive. For example,\n * `control = new FormControl('', Validators.max(15));`.\n * @param {?} max\n * @return {?}\n */\n Validators.max = /**\n * Validator that requires controls to have a value less than a number.\n * `max()` exists only as a function, not as a directive. For example,\n * `control = new FormControl('', Validators.max(15));`.\n * @param {?} max\n * @return {?}\n */\n function (max) {\n return function (control) {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(max)) {\n return null; // don't validate empty values to allow optional controls\n }\n var /** @type {?} */ value = parseFloat(control.value);\n // Controls with NaN values after parsing should be treated as not having a\n // maximum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-max\n return !isNaN(value) && value > max ? { 'max': { 'max': max, 'actual': control.value } } : null;\n };\n };\n /**\n * Validator that requires controls to have a non-empty value.\n */\n /**\n * Validator that requires controls to have a non-empty value.\n * @param {?} control\n * @return {?}\n */\n Validators.required = /**\n * Validator that requires controls to have a non-empty value.\n * @param {?} control\n * @return {?}\n */\n function (control) {\n return isEmptyInputValue(control.value) ? { 'required': true } : null;\n };\n /**\n * Validator that requires control value to be true.\n */\n /**\n * Validator that requires control value to be true.\n * @param {?} control\n * @return {?}\n */\n Validators.requiredTrue = /**\n * Validator that requires control value to be true.\n * @param {?} control\n * @return {?}\n */\n function (control) {\n return control.value === true ? null : { 'required': true };\n };\n /**\n * Validator that performs email validation.\n */\n /**\n * Validator that performs email validation.\n * @param {?} control\n * @return {?}\n */\n Validators.email = /**\n * Validator that performs email validation.\n * @param {?} control\n * @return {?}\n */\n function (control) {\n return EMAIL_REGEXP.test(control.value) ? null : { 'email': true };\n };\n /**\n * Validator that requires controls to have a value of a minimum length.\n */\n /**\n * Validator that requires controls to have a value of a minimum length.\n * @param {?} minLength\n * @return {?}\n */\n Validators.minLength = /**\n * Validator that requires controls to have a value of a minimum length.\n * @param {?} minLength\n * @return {?}\n */\n function (minLength) {\n return function (control) {\n if (isEmptyInputValue(control.value)) {\n return null; // don't validate empty values to allow optional controls\n }\n var /** @type {?} */ length = control.value ? control.value.length : 0;\n return length < minLength ?\n { 'minlength': { 'requiredLength': minLength, 'actualLength': length } } :\n null;\n };\n };\n /**\n * Validator that requires controls to have a value of a maximum length.\n */\n /**\n * Validator that requires controls to have a value of a maximum length.\n * @param {?} maxLength\n * @return {?}\n */\n Validators.maxLength = /**\n * Validator that requires controls to have a value of a maximum length.\n * @param {?} maxLength\n * @return {?}\n */\n function (maxLength) {\n return function (control) {\n var /** @type {?} */ length = control.value ? control.value.length : 0;\n return length > maxLength ?\n { 'maxlength': { 'requiredLength': maxLength, 'actualLength': length } } :\n null;\n };\n };\n /**\n * Validator that requires a control to match a regex to its value.\n */\n /**\n * Validator that requires a control to match a regex to its value.\n * @param {?} pattern\n * @return {?}\n */\n Validators.pattern = /**\n * Validator that requires a control to match a regex to its value.\n * @param {?} pattern\n * @return {?}\n */\n function (pattern) {\n if (!pattern)\n return Validators.nullValidator;\n var /** @type {?} */ regex;\n var /** @type {?} */ regexStr;\n if (typeof pattern === 'string') {\n regexStr = \"^\" + pattern + \"$\";\n regex = new RegExp(regexStr);\n }\n else {\n regexStr = pattern.toString();\n regex = pattern;\n }\n return function (control) {\n if (isEmptyInputValue(control.value)) {\n return null; // don't validate empty values to allow optional controls\n }\n var /** @type {?} */ value = control.value;\n return regex.test(value) ? null :\n { 'pattern': { 'requiredPattern': regexStr, 'actualValue': value } };\n };\n };\n /**\n * No-op validator.\n */\n /**\n * No-op validator.\n * @param {?} c\n * @return {?}\n */\n Validators.nullValidator = /**\n * No-op validator.\n * @param {?} c\n * @return {?}\n */\n function (c) { return null; };\n /**\n * @param {?} validators\n * @return {?}\n */\n Validators.compose = /**\n * @param {?} validators\n * @return {?}\n */\n function (validators) {\n if (!validators)\n return null;\n var /** @type {?} */ presentValidators = /** @type {?} */ (validators.filter(isPresent));\n if (presentValidators.length == 0)\n return null;\n return function (control) {\n return _mergeErrors(_executeValidators(control, presentValidators));\n };\n };\n /**\n * @param {?} validators\n * @return {?}\n */\n Validators.composeAsync = /**\n * @param {?} validators\n * @return {?}\n */\n function (validators) {\n if (!validators)\n return null;\n var /** @type {?} */ presentValidators = /** @type {?} */ (validators.filter(isPresent));\n if (presentValidators.length == 0)\n return null;\n return function (control) {\n var /** @type {?} */ observables = _executeAsyncValidators(control, presentValidators).map(toObservable);\n return map.call(forkJoin(observables), _mergeErrors);\n };\n };\n return Validators;\n}());\n/**\n * @param {?} o\n * @return {?}\n */\nfunction isPresent(o) {\n return o != null;\n}\n/**\n * @param {?} r\n * @return {?}\n */\nfunction toObservable(r) {\n var /** @type {?} */ obs = ɵisPromise(r) ? fromPromise(r) : r;\n if (!(ɵisObservable(obs))) {\n throw new Error(\"Expected validator to return Promise or Observable.\");\n }\n return obs;\n}\n/**\n * @param {?} control\n * @param {?} validators\n * @return {?}\n */\nfunction _executeValidators(control, validators) {\n return validators.map(function (v) { return v(control); });\n}\n/**\n * @param {?} control\n * @param {?} validators\n * @return {?}\n */\nfunction _executeAsyncValidators(control, validators) {\n return validators.map(function (v) { return v(control); });\n}\n/**\n * @param {?} arrayOfErrors\n * @return {?}\n */\nfunction _mergeErrors(arrayOfErrors) {\n var /** @type {?} */ res = arrayOfErrors.reduce(function (res, errors) {\n return errors != null ? __assign({}, /** @type {?} */ ((res)), errors) : /** @type {?} */ ((res));\n }, {});\n return Object.keys(res).length === 0 ? null : res;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A `ControlValueAccessor` acts as a bridge between the Angular forms API and a\n * native element in the DOM.\n *\n * Implement this interface if you want to create a custom form control directive\n * that integrates with Angular forms.\n *\n * \\@stable\n * @record\n */\n\n/**\n * Used to provide a {\\@link ControlValueAccessor} for form controls.\n *\n * See {\\@link DefaultValueAccessor} for how to implement one.\n * \\@stable\n */\nvar NG_VALUE_ACCESSOR = new InjectionToken('NgValueAccessor');\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(function () { return CheckboxControlValueAccessor; }),\n multi: true,\n};\n/**\n * The accessor for writing a value and listening to changes on a checkbox input element.\n *\n * ### Example\n * ```\n * \n * ```\n *\n * \\@stable\n */\nvar CheckboxControlValueAccessor = /** @class */ (function () {\n function CheckboxControlValueAccessor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this.onChange = function (_) { };\n this.onTouched = function () { };\n }\n /**\n * @param {?} value\n * @return {?}\n */\n CheckboxControlValueAccessor.prototype.writeValue = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'checked', value);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n CheckboxControlValueAccessor.prototype.registerOnChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onChange = fn; };\n /**\n * @param {?} fn\n * @return {?}\n */\n CheckboxControlValueAccessor.prototype.registerOnTouched = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onTouched = fn; };\n /**\n * @param {?} isDisabled\n * @return {?}\n */\n CheckboxControlValueAccessor.prototype.setDisabledState = /**\n * @param {?} isDisabled\n * @return {?}\n */\n function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n CheckboxControlValueAccessor.decorators = [\n { type: Directive, args: [{\n selector: 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]',\n host: { '(change)': 'onChange($event.target.checked)', '(blur)': 'onTouched()' },\n providers: [CHECKBOX_VALUE_ACCESSOR]\n },] },\n ];\n /** @nocollapse */\n CheckboxControlValueAccessor.ctorParameters = function () { return [\n { type: Renderer2, },\n { type: ElementRef, },\n ]; };\n return CheckboxControlValueAccessor;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar DEFAULT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(function () { return DefaultValueAccessor; }),\n multi: true\n};\n/**\n * We must check whether the agent is Android because composition events\n * behave differently between iOS and Android.\n * @return {?}\n */\nfunction _isAndroid() {\n var /** @type {?} */ userAgent = ɵgetDOM() ? ɵgetDOM().getUserAgent() : '';\n return /android (\\d+)/.test(userAgent.toLowerCase());\n}\n/**\n * Turn this mode on if you want form directives to buffer IME input until compositionend\n * \\@experimental\n */\nvar COMPOSITION_BUFFER_MODE = new InjectionToken('CompositionEventMode');\n/**\n * The default accessor for writing a value and listening to changes that is used by the\n * {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName} directives.\n *\n * ### Example\n * ```\n * \n * ```\n *\n * \\@stable\n */\nvar DefaultValueAccessor = /** @class */ (function () {\n function DefaultValueAccessor(_renderer, _elementRef, _compositionMode) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._compositionMode = _compositionMode;\n this.onChange = function (_) { };\n this.onTouched = function () { };\n /**\n * Whether the user is creating a composition string (IME events).\n */\n this._composing = false;\n if (this._compositionMode == null) {\n this._compositionMode = !_isAndroid();\n }\n }\n /**\n * @param {?} value\n * @return {?}\n */\n DefaultValueAccessor.prototype.writeValue = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n var /** @type {?} */ normalizedValue = value == null ? '' : value;\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultValueAccessor.prototype.registerOnChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onChange = fn; };\n /**\n * @param {?} fn\n * @return {?}\n */\n DefaultValueAccessor.prototype.registerOnTouched = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onTouched = fn; };\n /**\n * @param {?} isDisabled\n * @return {?}\n */\n DefaultValueAccessor.prototype.setDisabledState = /**\n * @param {?} isDisabled\n * @return {?}\n */\n function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n DefaultValueAccessor.prototype._handleInput = /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n function (value) {\n if (!this._compositionMode || (this._compositionMode && !this._composing)) {\n this.onChange(value);\n }\n };\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n DefaultValueAccessor.prototype._compositionStart = /**\n * \\@internal\n * @return {?}\n */\n function () { this._composing = true; };\n /** @internal */\n /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n DefaultValueAccessor.prototype._compositionEnd = /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n function (value) {\n this._composing = false;\n this._compositionMode && this.onChange(value);\n };\n DefaultValueAccessor.decorators = [\n { type: Directive, args: [{\n selector: 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]',\n // TODO: vsavkin replace the above selector with the one below it once\n // https://github.com/angular/angular/issues/3011 is implemented\n // selector: '[ngModel],[formControl],[formControlName]',\n host: {\n '(input)': '$any(this)._handleInput($event.target.value)',\n '(blur)': 'onTouched()',\n '(compositionstart)': '$any(this)._compositionStart()',\n '(compositionend)': '$any(this)._compositionEnd($event.target.value)'\n },\n providers: [DEFAULT_VALUE_ACCESSOR]\n },] },\n ];\n /** @nocollapse */\n DefaultValueAccessor.ctorParameters = function () { return [\n { type: Renderer2, },\n { type: ElementRef, },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [COMPOSITION_BUFFER_MODE,] },] },\n ]; };\n return DefaultValueAccessor;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} validator\n * @return {?}\n */\nfunction normalizeValidator(validator) {\n if ((/** @type {?} */ (validator)).validate) {\n return function (c) { return (/** @type {?} */ (validator)).validate(c); };\n }\n else {\n return /** @type {?} */ (validator);\n }\n}\n/**\n * @param {?} validator\n * @return {?}\n */\nfunction normalizeAsyncValidator(validator) {\n if ((/** @type {?} */ (validator)).validate) {\n return function (c) { return (/** @type {?} */ (validator)).validate(c); };\n }\n else {\n return /** @type {?} */ (validator);\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar NUMBER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(function () { return NumberValueAccessor; }),\n multi: true\n};\n/**\n * The accessor for writing a number value and listening to changes that is used by the\n * {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName} directives.\n *\n * ### Example\n * ```\n * \n * ```\n */\nvar NumberValueAccessor = /** @class */ (function () {\n function NumberValueAccessor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this.onChange = function (_) { };\n this.onTouched = function () { };\n }\n /**\n * @param {?} value\n * @return {?}\n */\n NumberValueAccessor.prototype.writeValue = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n // The value needs to be normalized for IE9, otherwise it is set to 'null' when null\n var /** @type {?} */ normalizedValue = value == null ? '' : value;\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n NumberValueAccessor.prototype.registerOnChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n this.onChange = function (value) { fn(value == '' ? null : parseFloat(value)); };\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n NumberValueAccessor.prototype.registerOnTouched = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onTouched = fn; };\n /**\n * @param {?} isDisabled\n * @return {?}\n */\n NumberValueAccessor.prototype.setDisabledState = /**\n * @param {?} isDisabled\n * @return {?}\n */\n function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n NumberValueAccessor.decorators = [\n { type: Directive, args: [{\n selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]',\n host: {\n '(change)': 'onChange($event.target.value)',\n '(input)': 'onChange($event.target.value)',\n '(blur)': 'onTouched()'\n },\n providers: [NUMBER_VALUE_ACCESSOR]\n },] },\n ];\n /** @nocollapse */\n NumberValueAccessor.ctorParameters = function () { return [\n { type: Renderer2, },\n { type: ElementRef, },\n ]; };\n return NumberValueAccessor;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @return {?}\n */\nfunction unimplemented() {\n throw new Error('unimplemented');\n}\n/**\n * A base class that all control directive extend.\n * It binds a {\\@link FormControl} object to a DOM element.\n *\n * Used internally by Angular forms.\n *\n * \\@stable\n * @abstract\n */\nvar NgControl = /** @class */ (function (_super) {\n __extends(NgControl, _super);\n function NgControl() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /**\n * \\@internal\n */\n _this._parent = null;\n _this.name = null;\n _this.valueAccessor = null;\n /**\n * \\@internal\n */\n _this._rawValidators = [];\n /**\n * \\@internal\n */\n _this._rawAsyncValidators = [];\n return _this;\n }\n Object.defineProperty(NgControl.prototype, \"validator\", {\n get: /**\n * @return {?}\n */\n function () { return /** @type {?} */ (unimplemented()); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(NgControl.prototype, \"asyncValidator\", {\n get: /**\n * @return {?}\n */\n function () { return /** @type {?} */ (unimplemented()); },\n enumerable: true,\n configurable: true\n });\n return NgControl;\n}(AbstractControlDirective));\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar RADIO_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(function () { return RadioControlValueAccessor; }),\n multi: true\n};\n/**\n * Internal class used by Angular to uncheck radio buttons with the matching name.\n */\nvar RadioControlRegistry = /** @class */ (function () {\n function RadioControlRegistry() {\n this._accessors = [];\n }\n /**\n * @param {?} control\n * @param {?} accessor\n * @return {?}\n */\n RadioControlRegistry.prototype.add = /**\n * @param {?} control\n * @param {?} accessor\n * @return {?}\n */\n function (control, accessor) {\n this._accessors.push([control, accessor]);\n };\n /**\n * @param {?} accessor\n * @return {?}\n */\n RadioControlRegistry.prototype.remove = /**\n * @param {?} accessor\n * @return {?}\n */\n function (accessor) {\n for (var /** @type {?} */ i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i][1] === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n };\n /**\n * @param {?} accessor\n * @return {?}\n */\n RadioControlRegistry.prototype.select = /**\n * @param {?} accessor\n * @return {?}\n */\n function (accessor) {\n var _this = this;\n this._accessors.forEach(function (c) {\n if (_this._isSameGroup(c, accessor) && c[1] !== accessor) {\n c[1].fireUncheck(accessor.value);\n }\n });\n };\n /**\n * @param {?} controlPair\n * @param {?} accessor\n * @return {?}\n */\n RadioControlRegistry.prototype._isSameGroup = /**\n * @param {?} controlPair\n * @param {?} accessor\n * @return {?}\n */\n function (controlPair, accessor) {\n if (!controlPair[0].control)\n return false;\n return controlPair[0]._parent === accessor._control._parent &&\n controlPair[1].name === accessor.name;\n };\n RadioControlRegistry.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n RadioControlRegistry.ctorParameters = function () { return []; };\n return RadioControlRegistry;\n}());\n/**\n * \\@whatItDoes Writes radio control values and listens to radio control changes.\n *\n * Used by {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName}\n * to keep the view synced with the {\\@link FormControl} model.\n *\n * \\@howToUse\n *\n * If you have imported the {\\@link FormsModule} or the {\\@link ReactiveFormsModule}, this\n * value accessor will be active on any radio control that has a form directive. You do\n * **not** need to add a special selector to activate it.\n *\n * ### How to use radio buttons with form directives\n *\n * To use radio buttons in a template-driven form, you'll want to ensure that radio buttons\n * in the same group have the same `name` attribute. Radio buttons with different `name`\n * attributes do not affect each other.\n *\n * {\\@example forms/ts/radioButtons/radio_button_example.ts region='TemplateDriven'}\n *\n * When using radio buttons in a reactive form, radio buttons in the same group should have the\n * same `formControlName`. You can also add a `name` attribute, but it's optional.\n *\n * {\\@example forms/ts/reactiveRadioButtons/reactive_radio_button_example.ts region='Reactive'}\n *\n * * **npm package**: `\\@angular/forms`\n *\n * \\@stable\n */\nvar RadioControlValueAccessor = /** @class */ (function () {\n function RadioControlValueAccessor(_renderer, _elementRef, _registry, _injector) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._registry = _registry;\n this._injector = _injector;\n this.onChange = function () { };\n this.onTouched = function () { };\n }\n /**\n * @return {?}\n */\n RadioControlValueAccessor.prototype.ngOnInit = /**\n * @return {?}\n */\n function () {\n this._control = this._injector.get(NgControl);\n this._checkName();\n this._registry.add(this._control, this);\n };\n /**\n * @return {?}\n */\n RadioControlValueAccessor.prototype.ngOnDestroy = /**\n * @return {?}\n */\n function () { this._registry.remove(this); };\n /**\n * @param {?} value\n * @return {?}\n */\n RadioControlValueAccessor.prototype.writeValue = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n this._state = value === this.value;\n this._renderer.setProperty(this._elementRef.nativeElement, 'checked', this._state);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n RadioControlValueAccessor.prototype.registerOnChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var _this = this;\n this._fn = fn;\n this.onChange = function () {\n fn(_this.value);\n _this._registry.select(_this);\n };\n };\n /**\n * @param {?} value\n * @return {?}\n */\n RadioControlValueAccessor.prototype.fireUncheck = /**\n * @param {?} value\n * @return {?}\n */\n function (value) { this.writeValue(value); };\n /**\n * @param {?} fn\n * @return {?}\n */\n RadioControlValueAccessor.prototype.registerOnTouched = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onTouched = fn; };\n /**\n * @param {?} isDisabled\n * @return {?}\n */\n RadioControlValueAccessor.prototype.setDisabledState = /**\n * @param {?} isDisabled\n * @return {?}\n */\n function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n /**\n * @return {?}\n */\n RadioControlValueAccessor.prototype._checkName = /**\n * @return {?}\n */\n function () {\n if (this.name && this.formControlName && this.name !== this.formControlName) {\n this._throwNameError();\n }\n if (!this.name && this.formControlName)\n this.name = this.formControlName;\n };\n /**\n * @return {?}\n */\n RadioControlValueAccessor.prototype._throwNameError = /**\n * @return {?}\n */\n function () {\n throw new Error(\"\\n If you define both a name and a formControlName attribute on your radio button, their values\\n must match. Ex: \\n \");\n };\n RadioControlValueAccessor.decorators = [\n { type: Directive, args: [{\n selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]',\n host: { '(change)': 'onChange()', '(blur)': 'onTouched()' },\n providers: [RADIO_VALUE_ACCESSOR]\n },] },\n ];\n /** @nocollapse */\n RadioControlValueAccessor.ctorParameters = function () { return [\n { type: Renderer2, },\n { type: ElementRef, },\n { type: RadioControlRegistry, },\n { type: Injector, },\n ]; };\n RadioControlValueAccessor.propDecorators = {\n \"name\": [{ type: Input },],\n \"formControlName\": [{ type: Input },],\n \"value\": [{ type: Input },],\n };\n return RadioControlValueAccessor;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar RANGE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(function () { return RangeValueAccessor; }),\n multi: true\n};\n/**\n * The accessor for writing a range value and listening to changes that is used by the\n * {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName} directives.\n *\n * ### Example\n * ```\n * \n * ```\n */\nvar RangeValueAccessor = /** @class */ (function () {\n function RangeValueAccessor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this.onChange = function (_) { };\n this.onTouched = function () { };\n }\n /**\n * @param {?} value\n * @return {?}\n */\n RangeValueAccessor.prototype.writeValue = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', parseFloat(value));\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n RangeValueAccessor.prototype.registerOnChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n this.onChange = function (value) { fn(value == '' ? null : parseFloat(value)); };\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n RangeValueAccessor.prototype.registerOnTouched = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onTouched = fn; };\n /**\n * @param {?} isDisabled\n * @return {?}\n */\n RangeValueAccessor.prototype.setDisabledState = /**\n * @param {?} isDisabled\n * @return {?}\n */\n function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n RangeValueAccessor.decorators = [\n { type: Directive, args: [{\n selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',\n host: {\n '(change)': 'onChange($event.target.value)',\n '(input)': 'onChange($event.target.value)',\n '(blur)': 'onTouched()'\n },\n providers: [RANGE_VALUE_ACCESSOR]\n },] },\n ];\n /** @nocollapse */\n RangeValueAccessor.ctorParameters = function () { return [\n { type: Renderer2, },\n { type: ElementRef, },\n ]; };\n return RangeValueAccessor;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar SELECT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(function () { return SelectControlValueAccessor; }),\n multi: true\n};\n/**\n * @param {?} id\n * @param {?} value\n * @return {?}\n */\nfunction _buildValueString(id, value) {\n if (id == null)\n return \"\" + value;\n if (value && typeof value === 'object')\n value = 'Object';\n return (id + \": \" + value).slice(0, 50);\n}\n/**\n * @param {?} valueString\n * @return {?}\n */\nfunction _extractId(valueString) {\n return valueString.split(':')[0];\n}\n/**\n * \\@whatItDoes Writes values and listens to changes on a select element.\n *\n * Used by {\\@link NgModel}, {\\@link FormControlDirective}, and {\\@link FormControlName}\n * to keep the view synced with the {\\@link FormControl} model.\n *\n * \\@howToUse\n *\n * If you have imported the {\\@link FormsModule} or the {\\@link ReactiveFormsModule}, this\n * value accessor will be active on any select control that has a form directive. You do\n * **not** need to add a special selector to activate it.\n *\n * ### How to use select controls with form directives\n *\n * To use a select in a template-driven form, simply add an `ngModel` and a `name`\n * attribute to the main `` tag. Like in the former example, you have the\n * choice of binding to the `value` or `ngValue` property on the select's options.\n *\n * {\\@example forms/ts/reactiveSelectControl/reactive_select_control_example.ts region='Component'}\n *\n * ### Caveat: Option selection\n *\n * Angular uses object identity to select option. It's possible for the identities of items\n * to change while the data does not. This can happen, for example, if the items are produced\n * from an RPC to the server, and that RPC is re-run. Even if the data hasn't changed, the\n * second response will produce objects with different identities.\n *\n * To customize the default option comparison algorithm, `\n * \n * \n *\n * compareFn(c1: Country, c2: Country): boolean {\n * return c1 && c2 ? c1.id === c2.id : c1 === c2;\n * }\n * ```\n *\n * Note: We listen to the 'change' event because 'input' events aren't fired\n * for selects in Firefox and IE:\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1024350\n * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4660045/\n *\n * * **npm package**: `\\@angular/forms`\n *\n * \\@stable\n */\nvar SelectControlValueAccessor = /** @class */ (function () {\n function SelectControlValueAccessor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /**\n * \\@internal\n */\n this._optionMap = new Map();\n /**\n * \\@internal\n */\n this._idCounter = 0;\n this.onChange = function (_) { };\n this.onTouched = function () { };\n this._compareWith = ɵlooseIdentical;\n }\n Object.defineProperty(SelectControlValueAccessor.prototype, \"compareWith\", {\n set: /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n if (typeof fn !== 'function') {\n throw new Error(\"compareWith must be a function, but received \" + JSON.stringify(fn));\n }\n this._compareWith = fn;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} value\n * @return {?}\n */\n SelectControlValueAccessor.prototype.writeValue = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n this.value = value;\n var /** @type {?} */ id = this._getOptionId(value);\n if (id == null) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'selectedIndex', -1);\n }\n var /** @type {?} */ valueString = _buildValueString(id, value);\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', valueString);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n SelectControlValueAccessor.prototype.registerOnChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var _this = this;\n this.onChange = function (valueString) {\n _this.value = _this._getOptionValue(valueString);\n fn(_this.value);\n };\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n SelectControlValueAccessor.prototype.registerOnTouched = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onTouched = fn; };\n /**\n * @param {?} isDisabled\n * @return {?}\n */\n SelectControlValueAccessor.prototype.setDisabledState = /**\n * @param {?} isDisabled\n * @return {?}\n */\n function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n /** @internal */\n /**\n * \\@internal\n * @return {?}\n */\n SelectControlValueAccessor.prototype._registerOption = /**\n * \\@internal\n * @return {?}\n */\n function () { return (this._idCounter++).toString(); };\n /** @internal */\n /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n SelectControlValueAccessor.prototype._getOptionId = /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n function (value) {\n for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) {\n var id = _a[_i];\n if (this._compareWith(this._optionMap.get(id), value))\n return id;\n }\n return null;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} valueString\n * @return {?}\n */\n SelectControlValueAccessor.prototype._getOptionValue = /**\n * \\@internal\n * @param {?} valueString\n * @return {?}\n */\n function (valueString) {\n var /** @type {?} */ id = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;\n };\n SelectControlValueAccessor.decorators = [\n { type: Directive, args: [{\n selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: { '(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n providers: [SELECT_VALUE_ACCESSOR]\n },] },\n ];\n /** @nocollapse */\n SelectControlValueAccessor.ctorParameters = function () { return [\n { type: Renderer2, },\n { type: ElementRef, },\n ]; };\n SelectControlValueAccessor.propDecorators = {\n \"compareWith\": [{ type: Input },],\n };\n return SelectControlValueAccessor;\n}());\n/**\n * \\@whatItDoes Marks `\n * \n *\n * compareFn(c1: Country, c2: Country): boolean {\n * return c1 && c2 ? c1.id === c2.id : c1 === c2;\n * }\n * ```\n *\n * \\@stable\n */\nvar SelectMultipleControlValueAccessor = /** @class */ (function () {\n function SelectMultipleControlValueAccessor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /**\n * \\@internal\n */\n this._optionMap = new Map();\n /**\n * \\@internal\n */\n this._idCounter = 0;\n this.onChange = function (_) { };\n this.onTouched = function () { };\n this._compareWith = ɵlooseIdentical;\n }\n Object.defineProperty(SelectMultipleControlValueAccessor.prototype, \"compareWith\", {\n set: /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n if (typeof fn !== 'function') {\n throw new Error(\"compareWith must be a function, but received \" + JSON.stringify(fn));\n }\n this._compareWith = fn;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} value\n * @return {?}\n */\n SelectMultipleControlValueAccessor.prototype.writeValue = /**\n * @param {?} value\n * @return {?}\n */\n function (value) {\n var _this = this;\n this.value = value;\n var /** @type {?} */ optionSelectedStateSetter;\n if (Array.isArray(value)) {\n // convert values to ids\n var /** @type {?} */ ids_1 = value.map(function (v) { return _this._getOptionId(v); });\n optionSelectedStateSetter = function (opt, o) { opt._setSelected(ids_1.indexOf(o.toString()) > -1); };\n }\n else {\n optionSelectedStateSetter = function (opt, o) { opt._setSelected(false); };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n SelectMultipleControlValueAccessor.prototype.registerOnChange = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) {\n var _this = this;\n this.onChange = function (_) {\n var /** @type {?} */ selected = [];\n if (_.hasOwnProperty('selectedOptions')) {\n var /** @type {?} */ options = _.selectedOptions;\n for (var /** @type {?} */ i = 0; i < options.length; i++) {\n var /** @type {?} */ opt = options.item(i);\n var /** @type {?} */ val = _this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n else {\n var /** @type {?} */ options = /** @type {?} */ (_.options);\n for (var /** @type {?} */ i = 0; i < options.length; i++) {\n var /** @type {?} */ opt = options.item(i);\n if (opt.selected) {\n var /** @type {?} */ val = _this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n _this.value = selected;\n fn(selected);\n };\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n SelectMultipleControlValueAccessor.prototype.registerOnTouched = /**\n * @param {?} fn\n * @return {?}\n */\n function (fn) { this.onTouched = fn; };\n /**\n * @param {?} isDisabled\n * @return {?}\n */\n SelectMultipleControlValueAccessor.prototype.setDisabledState = /**\n * @param {?} isDisabled\n * @return {?}\n */\n function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n SelectMultipleControlValueAccessor.prototype._registerOption = /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n function (value) {\n var /** @type {?} */ id = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n SelectMultipleControlValueAccessor.prototype._getOptionId = /**\n * \\@internal\n * @param {?} value\n * @return {?}\n */\n function (value) {\n for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) {\n var id = _a[_i];\n if (this._compareWith(/** @type {?} */ ((this._optionMap.get(id)))._value, value))\n return id;\n }\n return null;\n };\n /** @internal */\n /**\n * \\@internal\n * @param {?} valueString\n * @return {?}\n */\n SelectMultipleControlValueAccessor.prototype._getOptionValue = /**\n * \\@internal\n * @param {?} valueString\n * @return {?}\n */\n function (valueString) {\n var /** @type {?} */ id = _extractId$1(valueString);\n return this._optionMap.has(id) ? /** @type {?} */ ((this._optionMap.get(id)))._value : valueString;\n };\n SelectMultipleControlValueAccessor.decorators = [\n { type: Directive, args: [{\n selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]',\n host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n },] },\n ];\n /** @nocollapse */\n SelectMultipleControlValueAccessor.ctorParameters = function () { return [\n { type: Renderer2, },\n { type: ElementRef, },\n ]; };\n SelectMultipleControlValueAccessor.propDecorators = {\n \"compareWith\": [{ type: Input },],\n };\n return SelectMultipleControlValueAccessor;\n}());\n/**\n * Marks `
    - + diff --git a/locales/cs/messages.json b/locales/cs/messages.json index 7c27f435..1348c3c9 100644 --- a/locales/cs/messages.json +++ b/locales/cs/messages.json @@ -1,6 +1,6 @@ { "pageTitle": { - "message": "$APP_NAME$ Web Vault", + "message": "Webový trezor $APP_NAME$", "description": "The title of the website in the browser window.", "placeholders": { "app_name": { @@ -41,177 +41,177 @@ "message": "Poznámky" }, "customFields": { - "message": "Custom Fields" + "message": "Vlastní pole" }, "cardholderName": { - "message": "Cardholder Name" + "message": "Jméno držitele karty" }, "number": { "message": "Číslo" }, "brand": { - "message": "Brand" + "message": "Značka" }, "expiration": { - "message": "Expiration" + "message": "Expirace" }, "securityCode": { - "message": "Security Code (CVV)" + "message": "Bezpečnostní kód (CVV)" }, "identityName": { - "message": "Identity Name" + "message": "Název identity" }, "company": { - "message": "Company" + "message": "Firma" }, "ssn": { - "message": "Social Security Number" + "message": "Číslo sociálního pojištění" }, "passportNumber": { - "message": "Passport Number" + "message": "Číslo cestovního pasu" }, "licenseNumber": { - "message": "License Number" + "message": "Číslo dokladu totožnosti" }, "email": { - "message": "Email" + "message": "E-mail" }, "phone": { - "message": "Phone" + "message": "Telefon" }, "january": { - "message": "January" + "message": "Leden" }, "february": { - "message": "February" + "message": "Únor" }, "march": { - "message": "March" + "message": "Březen" }, "april": { - "message": "April" + "message": "Duben" }, "may": { - "message": "May" + "message": "Květen" }, "june": { - "message": "June" + "message": "Červen" }, "july": { - "message": "July" + "message": "Červenec" }, "august": { - "message": "August" + "message": "Srpen" }, "september": { - "message": "September" + "message": "Září" }, "october": { - "message": "October" + "message": "Říjen" }, "november": { - "message": "November" + "message": "Listopad" }, "december": { - "message": "December" + "message": "Prosinec" }, "title": { - "message": "Title" + "message": "Oslovení" }, "mr": { - "message": "Mr" + "message": "Pan" }, "mrs": { - "message": "Mrs" + "message": "Paní" }, "ms": { - "message": "Ms" + "message": "Slečna" }, "dr": { - "message": "Dr" + "message": "MUDr" }, "expirationMonth": { - "message": "Expiration Month" + "message": "Měsíc expirace" }, "expirationYear": { - "message": "Expiration Year" + "message": "Rok expirace" }, "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" + "message": "Autentizační klíč (TOTP)" }, "folder": { - "message": "Folder" + "message": "Složka" }, "newCustomField": { - "message": "New Custom Field" + "message": "Nové vlastní pole" }, "value": { - "message": "Value" + "message": "Hodnota" }, "cfTypeText": { "message": "Text" }, "cfTypeHidden": { - "message": "Hidden" + "message": "Skryté" }, "cfTypeBoolean": { - "message": "Boolean" + "message": "Ano\/Ne" }, "remove": { - "message": "Remove" + "message": "Smazat" }, "unassigned": { - "message": "Unassigned" + "message": "Nepřiřazené" }, "noneFolder": { - "message": "No Folder", + "message": "Žádná složka", "description": "This is the folder for uncategorized items" }, "addFolder": { - "message": "Add Folder" + "message": "Přidat složku" }, "editFolder": { - "message": "Edit Folder" + "message": "Upravit složku" }, "baseDomain": { - "message": "Base domain" + "message": "Základní doména" }, "host": { "message": "Host", "description": "A URL's host value. For example, the host of https:\/\/sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { - "message": "Exact" + "message": "Přesně" }, "startsWith": { - "message": "Starts with" + "message": "Začíná na" }, "regEx": { - "message": "Regular expression", + "message": "Regulární výraz", "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Match Detection", + "message": "Zjišťování shody", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Default match detection", + "message": "Výchozí", "description": "Default URI match detection for auto-fill." }, "never": { - "message": "Never" + "message": "Nikdy" }, "toggleVisibility": { - "message": "Toggle Visibility" + "message": "Přepnout viditelnost" }, "generatePassword": { - "message": "Generate Password" + "message": "Vygenerovat heslo" }, "checkPassword": { - "message": "Check if password has been exposed." + "message": "Zkontrolujte, zda nedošlo k úniku hesla." }, "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", + "message": "K úniku tohoto hesla došlo celkem $VALUE$x. Měli byste jej změnit.", "placeholders": { "value": { "content": "$1", @@ -220,132 +220,132 @@ } }, "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." + "message": "K úniku tohoto hesla nedošlo v žádném ze známých případů. Mělo by být bezpečné používat jej i nadále." }, "save": { - "message": "Save" + "message": "Uložit" }, "cancel": { - "message": "Cancel" + "message": "Zrušit" }, "canceled": { - "message": "Canceled" + "message": "Zrušeno" }, "close": { - "message": "Close" + "message": "Zavřít" }, "delete": { - "message": "Delete" + "message": "Smazat" }, "favorite": { - "message": "Favorite" + "message": "Oblíbené" }, "unfavorite": { - "message": "Unfavorite" + "message": "Odebrat z oblízených" }, "edit": { - "message": "Edit" + "message": "Upravit" }, "searchCollection": { - "message": "Search Collection" + "message": "Vyhledat v kolekci" }, "searchFolder": { - "message": "Search Folder" + "message": "Vyhledat ve složce" }, "searchFavorites": { - "message": "Search Favorites" + "message": "Vyhledat v oblíbených" }, "searchType": { - "message": "Search Type", + "message": "Vyhledat v typu", "description": "Search item type" }, "searchVault": { - "message": "Search Vault" + "message": "Vyhledat v trezoru" }, "allItems": { - "message": "All Items" + "message": "Všechny položky" }, "favorites": { - "message": "Favorites" + "message": "Oblíbené" }, "types": { - "message": "Types" + "message": "Typy" }, "typeLogin": { - "message": "Login" + "message": "Přihlášení" }, "typeCard": { - "message": "Card" + "message": "Karta" }, "typeIdentity": { - "message": "Identity" + "message": "Identita" }, "typeSecureNote": { - "message": "Secure Note" + "message": "Poznámka" }, "folders": { - "message": "Folders" + "message": "Složky" }, "collections": { - "message": "Collections" + "message": "Kolekce" }, "firstName": { - "message": "First Name" + "message": "Jméno" }, "middleName": { - "message": "Middle Name" + "message": "Druhé jméno" }, "lastName": { - "message": "Last Name" + "message": "Příjmení" }, "address1": { - "message": "Address 1" + "message": "Adresa 1" }, "address2": { - "message": "Address 2" + "message": "Adresa 2" }, "address3": { - "message": "Address 3" + "message": "Adresa 3" }, "cityTown": { - "message": "City \/ Town" + "message": "Město" }, "stateProvince": { - "message": "State \/ Province" + "message": "Kraj \/ Provincie" }, "zipPostalCode": { - "message": "Zip \/ Postal Code" + "message": "PSČ" }, "country": { - "message": "Country" + "message": "Stát" }, "shared": { - "message": "Shared" + "message": "Sdílené" }, "attachments": { - "message": "Attachments" + "message": "Přílohy" }, "select": { - "message": "Select" + "message": "Vybrat" }, "addItem": { - "message": "Add Item" + "message": "Přidat položku" }, "editItem": { - "message": "Edit Item" + "message": "Upravit položku" }, "ex": { - "message": "ex.", + "message": "např.", "description": "Short abbreviation for 'example'." }, "other": { - "message": "Other" + "message": "Ostatní" }, "share": { - "message": "Share" + "message": "Sdílet" }, "valueCopied": { - "message": "$VALUE$ copied", + "message": "$VALUE$ zkopírováno", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -355,259 +355,259 @@ } }, "copyValue": { - "message": "Copy Value", + "message": "Zkopírovat hodnotu", "description": "Copy value to clipboard" }, "copyPassword": { - "message": "Copy Password", + "message": "Kopírovat heslo", "description": "Copy password to clipboard" }, "copyUsername": { - "message": "Copy Username", + "message": "Kopírovat uživatelské jméno", "description": "Copy username to clipboard" }, "copyNumber": { - "message": "Copy Number", + "message": "Kopírovat číslo", "description": "Copy credit card number" }, "copySecurityCode": { - "message": "Copy Security Code", + "message": "Kopírovat bezpečnostní kód", "description": "Copy credit card security code (CVV)" }, "copyUri": { - "message": "Copy URI", + "message": "Kopírovat URI", "description": "Copy URI to clipboard" }, "myVault": { - "message": "My Vault" + "message": "Můj trezor" }, "vault": { - "message": "Vault" + "message": "Trezor" }, "shareSelected": { - "message": "Share Selected" + "message": "Sdílet vybrané" }, "deleteSelected": { - "message": "Delete Selected" + "message": "Smazat vybrané" }, "moveSelected": { - "message": "Move Selected" + "message": "Přesunout vybrané" }, "selectAll": { - "message": "Select All" + "message": "Vybrat vše" }, "unselectAll": { - "message": "Unselect All" + "message": "Zrušit výběr" }, "launch": { - "message": "Launch" + "message": "Spustit" }, "newAttachment": { - "message": "Add New Attachment" + "message": "Přidat přílohu" }, "deletedAttachment": { - "message": "Deleted attachment" + "message": "Příloha byla smazána" }, "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" + "message": "Opravdu chcete tuto přílohu smazat?" }, "attachmentSaved": { - "message": "The attachment has been saved." + "message": "Příloha byla uložena" }, "file": { - "message": "File" + "message": "Soubor" }, "selectFile": { - "message": "Select a file." + "message": "Vybrat soubor." }, "maxFileSize": { - "message": "Maximum file size is 100 MB." + "message": "Maximální velikost souboru je 100 MB." }, "updateKey": { - "message": "You cannot use this feature until you update your encryption key." + "message": "Tuto funkci nemůžete použít dokud neaktualizujete svůj šifrovací klíč." }, "addedItem": { - "message": "Added item" + "message": "Položka byla přidána" }, "editedItem": { - "message": "Edited item" + "message": "Položka byla upravena" }, "sharedItem": { - "message": "Shared item" + "message": "Položka byla sdílena" }, "sharedItems": { - "message": "Shared items" + "message": "Položky byly sdíleny" }, "deleteItem": { - "message": "Delete Item" + "message": "Smazat položku" }, "deleteFolder": { - "message": "Delete Folder" + "message": "Smazat složku" }, "deleteAttachment": { - "message": "Delete Attachment" + "message": "Smazat přílohu" }, "deleteItemConfirmation": { - "message": "Are you sure you want to delete this item?" + "message": "Opravdu chcete tuto položku smazat?" }, "deletedItem": { - "message": "Deleted item" + "message": "Položka byla smazána" }, "deletedItems": { - "message": "Deleted items" + "message": "Položky byly smazány" }, "movedItems": { - "message": "Moved items" + "message": "Položky byly přesunuty" }, "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" + "message": "Opravdu chcete přepsat aktuální heslo?" }, "editedFolder": { - "message": "Edited folder" + "message": "Složka byla upravena" }, "addedFolder": { - "message": "Added folder" + "message": "Složka byla přidána" }, "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" + "message": "Opravdu chcete tuto složku smazat?" }, "deletedFolder": { - "message": "Deleted folder" + "message": "Složka byla smazána" }, "loggedOut": { - "message": "Logged out" + "message": "Odhlášení" }, "loginExpired": { - "message": "Your login session has expired." + "message": "Platnost přihlášení vypršela." }, "logOutConfirmation": { - "message": "Are you sure you want to log out?" + "message": "Opravdu se chcete odhlásit?" }, "logOut": { - "message": "Log Out" + "message": "Odhlásit se" }, "ok": { "message": "Ok" }, "yes": { - "message": "Yes" + "message": "Ano" }, "no": { - "message": "No" + "message": "Ne" }, "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." + "message": "Pro přístup do vašeho bezpečného trezoru se přihlašte nebo si vytvořte nový účet." }, "createAccount": { - "message": "Create Account" + "message": "Vytvořit účet" }, "logIn": { - "message": "Log In" + "message": "Přihlásit se" }, "submit": { - "message": "Submit" + "message": "Potvrdit" }, "emailAddressDesc": { - "message": "You'll use your email address to log in." + "message": "Vaši e-mailovou adresu budete používat k přihlášení." }, "yourName": { - "message": "Your Name" + "message": "Vaše jméno" }, "yourNameDesc": { - "message": "What should we call you?" + "message": "Jak vám máme říkat?" }, "masterPass": { - "message": "Master Password" + "message": "Hlavní heslo" }, "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." + "message": "Hlavní heslo je heslo, které používáte k přístupu do vašeho trezoru. Je velmi důležité, abyste jej nezapomněli. Neexistuje totiž žádný způsob, jak heslo obnovit v případě, že jste na něj zapomněli." }, "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." + "message": "Nápověda k hlavnímu heslu vám pomůže zapamatovat si heslo, pokud ho zapomenete." }, "reTypeMasterPass": { - "message": "Re-type Master Password" + "message": "Znovu zadejte hlavní heslo" }, "masterPassHint": { - "message": "Master Password Hint (optional)" + "message": "Nápověda k hlavnímu heslu (volitelné)" }, "masterPassHintLabel": { - "message": "Master Password Hint" + "message": "Nápověda k hlavnímu heslu" }, "settings": { - "message": "Settings" + "message": "Nastavení" }, "passwordHint": { - "message": "Password Hint" + "message": "Nápověda k heslu" }, "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." + "message": "Zadejte e-mailovou adresu pro zaslání nápovědy k hlavnímu heslu." }, "getMasterPasswordHint": { - "message": "Get master password hint" + "message": "Získat nápovědu pro hlavní heslo" }, "emailRequired": { - "message": "Email address is required." + "message": "E-mailová adresa je povinná." }, "invalidEmail": { - "message": "Invalid email address." + "message": "Neplatná e-mailová adresa." }, "masterPassRequired": { - "message": "Master password is required." + "message": "Hlavní heslo je povinné." }, "masterPassLength": { - "message": "Master password must be at least 8 characters long." + "message": "Hlavní heslo musí obsahovat alespoň 8 znaků." }, "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." + "message": "Potvrzení hlavního hesla se neshoduje." }, "newAccountCreated": { - "message": "Your new account has been created! You may now log in." + "message": "Váš účet byl vytvořen! Můžete se přihlásit." }, "masterPassSent": { - "message": "We've sent you an email with your master password hint." + "message": "Poslali jsme vám e-mail s nápovědou k hlavnímu heslu." }, "unexpectedError": { - "message": "An unexpected error has occurred." + "message": "Došlo k neznámé chybě" }, "emailAddress": { - "message": "Email Address" + "message": "E-mailová adresa" }, "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." + "message": "Váš trezor je uzamčen. Pro pokračování musíte zadat hlavní heslo." }, "unlock": { - "message": "Unlock" + "message": "Odemknout" }, "invalidMasterPassword": { - "message": "Invalid master password" + "message": "Chybné hlavní heslo" }, "lockNow": { - "message": "Lock Now" + "message": "Zamknout nyní" }, "noItemsInList": { - "message": "There are no items to list." + "message": "Žádné položky k zobrazení." }, "noCollectionsInList": { - "message": "There are no collections to list." + "message": "Žádné kolekce k zobrazení." }, "noGroupsInList": { - "message": "There are no groups to list." + "message": "Žádné skupiny k zobrazení." }, "noUsersInList": { - "message": "There are no users to list." + "message": "Žádní uživatelé k zobrazení." }, "noEventsInList": { - "message": "There are no events to list." + "message": "Žádné události k zobrazení." }, "newOrganization": { - "message": "New Organization" + "message": "Nová organizace" }, "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." + "message": "Nepatříte do žádné organizace. Organizace umožňují bezpečné sdílení položek s ostatními uživateli." }, "versionNumber": { - "message": "Version $VERSION_NUMBER$", + "message": "Verze $VERSION_NUMBER$", "placeholders": { "version_number": { "content": "$1", @@ -616,10 +616,10 @@ } }, "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." + "message": "Zadejte 6-místný kód z ověřovací aplikace." }, "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", + "message": "Zadejte 6místný kód z e-mailu, který byl zaslán na $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -628,7 +628,7 @@ } }, "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", + "message": "Ověřovací e-mail byl zaslán na $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -637,91 +637,91 @@ } }, "rememberMe": { - "message": "Remember me" + "message": "Pamatuj si mě" }, "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" + "message": "Zaslat znovu ověřovací kód na e-mail" }, "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" + "message": "Použít jinou metodu dvoufázového přihlášení" }, "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." + "message": "Vložte YubiKey do USB portu vašeho počítače a stiskněte jeho tlačítko." }, "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." + "message": "Vložte svůj bezpečnostní klíč do USB portu vašeho počítače a pokud má tlačítko, tak jej stiskněte." }, "loginUnavailable": { - "message": "Login Unavailable" + "message": "Přihlášení není dostupné" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "Tento účet má zapnuté dvoufázové ověřování, ale žádný z nastavených poskytovalů dvoufázového přihlášení není v tomto prohlížeči podporován." }, "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and\/or add additional providers that are better supported across web browsers (such as an authenticator app)." + "message": "Použijte prosím podporovaný webový prohlížeč (například Chrome) a přidejte další poskytovatele, kteří lépe podporují více různých webových prohlížečích (jako například ověřovací aplikace)." }, "twoStepOptions": { - "message": "Two-step Login Options" + "message": "Možnosti dvoufázového přihlášení" }, "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." + "message": "Ztratili jste přístup ke všem nastaveným poskytovatelům dvoufázového přihlášení? Použijte obnovovací kód pro vypnutí dvoufázového přihlášení." }, "recoveryCodeTitle": { - "message": "Recovery Code" + "message": "Kód pro obnovení" }, "authenticatorAppTitle": { - "message": "Authenticator App" + "message": "Ověřovací aplikace" }, "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", + "message": "Použijte ověřovací aplikaci (jako je Authy nebo Google Authenticator) pro generování časově omezených kódů.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" + "message": "YubiKey OTP bezpečnostní klíč" }, "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices." + "message": "Použít YubiKey pro přístup k vašemu trezoru. Podporuje YubiKey 4, 4 Nano, 4C a NEO zařízení." }, "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Ověřit pomocí Duo Security prostřednictvím aplikace Duo Mobile, SMS, telefonního hovoru nebo U2F bezpečnostního kódu.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Ověřit pomocí Duo Security pro vaši organizaci prostřednictvím aplikace Duo Mobile, SMS, telefonního hovoru nebo U2F bezpečnostního kódu.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." + "message": "Použít jakýkoliv FIDO U2F bezpečnostní klíč pro přístup k vašemu trezoru." }, "u2fTitle": { - "message": "FIDO U2F Security Key" + "message": "FIDO U2F bezpečnostní klíč" }, "emailTitle": { - "message": "Email" + "message": "E-mail" }, "emailDesc": { - "message": "Verification codes will be emailed to you." + "message": "Ověřovací kódy vám budou zaslány e-mailem." }, "continue": { - "message": "Continue" + "message": "Pokračovat" }, "organization": { - "message": "Organization" + "message": "Organizace" }, "organizations": { - "message": "Organizations" + "message": "Organizace" }, "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." + "message": "Vyberte organizaci se kterou chcete sdílet tuto položku. Sdílením přenese vlastnictví položky na organizaci a již nadále nebudete přímým vlastníkem této položky." }, "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." + "message": "Vyberte organizaci se kterou chcete sdílet tyto položky. Sdílením přenese vlastnictví položek na organizaci a již nadále nebudete přímým vlastníkem těchto položek." }, "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." + "message": "Upravit kolekce, ve kterých je tato položka sdílená. Pouze uživatelé organizace, kteří mají přístup k těmto kolekcím, budou moci tuto položku vidět." }, "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", + "message": "Vybrali jste $COUNT$ položek ke smazání. Opravdu chcete tyto položky smazat?", "placeholders": { "count": { "content": "$1", @@ -730,7 +730,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", + "message": "Vyberte složku, do které chcete přesunout $COUNT$ vybraných položek.", "placeholders": { "count": { "content": "$1", @@ -739,7 +739,7 @@ } }, "shareSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not. Items with attachments must be shared individually.", + "message": "Vybrali jste $COUNT$ položek. $SHAREABLE_COUNT$ položek je možné sdílet a $NONSHAREABLE_COUNT$ položek ne. Položky s přílohami musí být sdíleny jednotlivě.", "placeholders": { "count": { "content": "$1", @@ -756,68 +756,68 @@ } }, "verificationCodeTotp": { - "message": "Verification Code (TOTP)" + "message": "Ověřovací kód (TOTP)" }, "copyVerificationCode": { - "message": "Copy Verification Code" + "message": "Zkopírovat ověřovací kód" }, "warning": { - "message": "Warning" + "message": "Varování" }, "exportWarning": { - "message": "This export contains your unencrypted data in .csv format. You should not store or send it over unsecure channels (such as email). Delete it immediately after your are done using it." + "message": "Soubor exportu obsahuje nezašifrovaná data ve formátu .csv. Neměli byste ho ukládat ani odesílat přes nezabezpečené kanály (např. e-mailem). Smažte jej okamžitě po jeho použití." }, "exportMasterPassword": { - "message": "Enter your master password to export your vault data." + "message": "Zadejte své hlavní heslo pro export dat." }, "exportVault": { - "message": "Export Vault" + "message": "Exportovat přihlašovací údaje" }, "exportSuccess": { - "message": "Your vault data has been exported." + "message": "Data trezoru byla exportována" }, "passwordGenerator": { - "message": "Password Generator" + "message": "Generátor hesla" }, "minNumbers": { - "message": "Minimum Numbers" + "message": "Minimální počet čísel" }, "minSpecial": { - "message": "Minimum Special", + "message": "Minimální počet speciálních znaků", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Avoid Ambiguous Characters" + "message": "Nepoužít zaměnitelné znaky" }, "regeneratePassword": { - "message": "Regenerate Password" + "message": "Vygenerovat další heslo" }, "length": { - "message": "Length" + "message": "Délka" }, "passwordHistory": { - "message": "Password History" + "message": "Historie hesel" }, "noPasswordsInList": { - "message": "There are no passwords to list." + "message": "Nejsou k dispozici žádná hesla." }, "clear": { - "message": "Clear" + "message": "Vymazat" }, "accountUpdated": { - "message": "Account Updated" + "message": "Účet byl aktualizován" }, "changeEmail": { - "message": "Change Email" + "message": "Změnit e-mail" }, "newEmail": { - "message": "New Email" + "message": "Nový e-mail" }, "code": { - "message": "Code" + "message": "Kód" }, "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize your the email address change.", + "message": "Na e-mail $EMAIL$ jsme odeslali ověřovací kód. Zkontrolujte prosím svou e-mailovou schránku a pro potvrzení nové e-mailové adresy zadejte níže obdržený kód.", "placeholders": { "email": { "content": "$1", @@ -826,106 +826,106 @@ } }, "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + "message": "Pokud chcete pokračovat, budete odhlášeni z aktuální relace a bude nutné se znovu přihlásit. Aktivní relace na jiných zařízeních mohou nadále zůstat aktivní po dobu až jedné hodiny." }, "emailChanged": { - "message": "Email Changed" + "message": "E-mail byl změněn" }, "logBackIn": { - "message": "Please log back in." + "message": "Přihlaste se prosím znovu." }, "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." + "message": "Přihlaste se prosím znovu. Používáte-li jiné aplikace Bitwarden, přihlašte se znovu i v nich." }, "changeMasterPassword": { - "message": "Change Master Password" + "message": "Změnit hlavní heslo" }, "masterPasswordChanged": { - "message": "Master Password Changed" + "message": "Hlavní heslo bylo změněno" }, "currentMasterPass": { - "message": "Current Master Password" + "message": "Současné hlavní heslo" }, "newMasterPass": { - "message": "New Master Password" + "message": "Nové hlavní heslo" }, "confirmNewMasterPass": { - "message": "Confirm New Master Password" + "message": "Potvrzení nového hesla" }, "dangerZone": { - "message": "Danger Zone" + "message": "Nebezpečná zóna" }, "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" + "message": "Opatrně tyto akce se nedají vrátit!" }, "deauthorizeSessions": { - "message": "Deauthorize Sessions" + "message": "Zrušit autorizaci relací" }, "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." + "message": "Je váš účet přihlášen na jiném zařízení? Pokračujte níže ke zrušení přihlášení všech počítačů a zařízení, která jste dříve používali. Tento bezpečnostní krok je doporučen, pokud jste dříve používali veřejný počítač nebo nechtěně uložili heslo na zařízení, které není vaše. Tímto krokem se také zruší dříve zapamatovaná dvoufázová přihlášení." }, "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." + "message": "Pokud chcete pokračovat, budete také odhlášeni z aktuální relace a bude nutné se znovu přihlásit. Pokud používáte dvoufázové přihlášení, bude také vyžadováno. Aktivní relace na jiných zařízeních mohou nadále zůstat aktivní po dobu až jedné hodiny." }, "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" + "message": "Všechny relace byly zrušeny" }, "purgeVault": { - "message": "Purge Vault" + "message": "Vymazat celý trezor" }, "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." + "message": "Pokračujte níže ke smazání všech položek a složek ve vašem trezoru. Položky sdílené s organizací nebudou smazány." }, "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." + "message": "Vymazání trezoru je trvalé. Tuto akci nelze vrátit zpět." }, "vaultPurged": { - "message": "Your vault has been purged." + "message": "Výš trezor byl vymazán" }, "deleteAccount": { - "message": "Delete Account" + "message": "Smazat účet" }, "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." + "message": "Pokračujte níže ke smazání účtu a všech souvisejících dat." }, "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." + "message": "Smazání účtu je trvalé. Tuto akci nelze vrátit zpět." }, "accountDeleted": { - "message": "Account Deleted" + "message": "Účet byl smazán" }, "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." + "message": "Váš účet byl uzavřen a všechna související data byla smazána." }, "myAccount": { - "message": "My Account" + "message": "Můj účet" }, "tools": { - "message": "Tools" + "message": "Nástroje" }, "importData": { - "message": "Import Data" + "message": "Import dat" }, "importSuccess": { - "message": "Data has been successfully imported into your vault." + "message": "Data byla úspěšně importována" }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "Data nemají správný formát. Zkontrolujte importovaný soubor a zkuste to znovu." }, "importNothingError": { - "message": "Nothing was imported." + "message": "Nic nebylo importováno" }, "selectFormat": { - "message": "Select the format of the import file" + "message": "Vyberte formát importovaného souboru" }, "selectImportFile": { - "message": "Select the import file" + "message": "Vyberte soubor pro import" }, "orCopyPasteFileContents": { - "message": "or copy\/paste the import file contents" + "message": "nebo zkopírujte a vložte obsah souboru" }, "instructionsFor": { - "message": "$NAME$ Instructions", + "message": "Instrukce pro $NAME$", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -935,58 +935,65 @@ } }, "options": { - "message": "Options" + "message": "Možnosti" }, "optionsDesc": { - "message": "Customize your web vault experience." + "message": "Přizpůsobte si váš webový trezor." }, "optionsUpdated": { - "message": "Options updated" + "message": "Možnosti byly upraveny" }, "language": { - "message": "Language" + "message": "Jazyk" }, "languageDesc": { - "message": "Change the language used by the web vault." + "message": "Změňte jazyk používaný ve webovém trezoru." }, "disableIcons": { - "message": "Disable Website Icons" + "message": "Zakázat ikonky webových stránek" }, "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." + "message": "Ikonky webových stránek zobrazí snadno rozeznatelný obrázek vedle každé položky ve vašem trezoru." + }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." }, "default": { - "message": "Default" + "message": "Výchozí" }, "domainRules": { - "message": "Domain Rules" + "message": "Doménová pravidla" }, "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." + "message": "Pokud máte stejné přihlašovací údaje napříč různými doménami, můžete je označit jako \"ekvivalentní\". Bitwarden za vás již vytvořil seznam globálních domén." }, "globalEqDomains": { - "message": "Global Equivalent Domains" + "message": "Globální ekvivalentní domény" }, "customEqDomains": { - "message": "Custom Equivalent Domains" + "message": "Vlastní ekvivalentní domény" }, "exclude": { - "message": "Exclude" + "message": "Vyřadit" }, "include": { - "message": "Include" + "message": "Zahrnout" }, "customize": { - "message": "Customize" + "message": "Přizpůsobit" }, "newCustomDomain": { - "message": "New Custom Domain" + "message": "Přidat vlastní doménu" }, "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp:\/\/package.name\" to associate an android app with other website domains." + "message": "Zadejte seznam domén oddělených čárkou. Povolené jsou pouze \"základní\" domény a proto nezadávejte subdomény. Například zadejte \"bitwarden.com\" místo \"vault.bitwarden.com\". Můžete také zadat \"androidapp:\/\/package.name\" pokud chcete přiřadit Android aplikaci k ostatním webovým doménám." }, "customDomainX": { - "message": "Custom Domain $INDEX$", + "message": "Vlastní doména $INDEX$", "placeholders": { "index": { "content": "$1", @@ -995,120 +1002,120 @@ } }, "domainsUpdated": { - "message": "Domains updated" + "message": "Domény byly upraveny" }, "twoStepLogin": { - "message": "Two-step Login" + "message": "Dvoufázové přihlášení" }, "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." + "message": "Zabezpečte svůj účet vyžadováním dodatečného kroku při přihlašování." }, "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." + "message": "Vyžadovat dvoufázové přihlášení pro uživatele vaší organizace nastavením poskytovatelů na úrovni organizace." }, "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." + "message": "Povolením dvoufázového přihlášení může dojít k trvalému uzamčení vašeho účtu. Obnovovací kód umožňuje přístup do vašeho účtu i v případě, pokud již nemůžete použít svůj normální způsob dvoufázového přihlášení (např. ztráta zařízení). Pokud ztratíte přístup k vašemu účtu, nebude vám schopna pomoci ani zákaznická podpora Bitwardenu. Doporučujeme si proto kód pro obnovení zapsat nebo vytisknout a uložit jej na bezpečném místě." }, "viewRecoveryCode": { - "message": "View Recovery Code" + "message": "Zobrazit kód pro obnovení" }, "providers": { - "message": "Providers", + "message": "Poskytovatelé", "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { - "message": "Enable" + "message": "Povolit" }, "enabled": { - "message": "Enabled" + "message": "Povoleno" }, "premium": { - "message": "Premium", + "message": "Prémium", "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Membership" + "message": "Prémiové členství" }, "premiumRequired": { - "message": "Premium Required" + "message": "Vyžaduje prémiové členství" }, "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." + "message": "Pro použití této funkce je potřebné prémiové členství." }, "manage": { - "message": "Manage" + "message": "Správa" }, "disable": { - "message": "Disable" + "message": "Zakázat" }, "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." + "message": "Tento poskytovatel dvoufázového přihlášení byl povolen." }, "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." + "message": "Zadejte hlavní heslo pro úpravu dvoufázového přihlášení." }, "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" + "message": "Postupujte podle následujících kroků pro nastavení pro dvoufázového přihlášení pomocí ověřovací aplikace:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" + "message": "Stáhněte si ověřovací aplikaci" }, "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" + "message": "Potřebujete aplikaci pro dvoufázové ověření? Stáhněte si jednu z následujících" }, "iosDevices": { - "message": "iOS devices" + "message": "iOS zařízení" }, "androidDevices": { - "message": "Android devices" + "message": "Android zařízení" }, "windowsDevices": { - "message": "Windows devices" + "message": "Windows zařízení" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "Tyto aplikaci doporučujeme, nicméně další aplikace pro ověření budou fungovat také." }, "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" + "message": "Naskenujte tento QR kód s vaší ověřovací aplikací" }, "key": { - "message": "Key" + "message": "Klíč" }, "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" + "message": "Zadejte 6-místný kód z ověřovací aplikace" }, "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." + "message": "V případě potřeby přidání do jiného zařízení, je níže zobrazen QR kód (nebo klíč) vyžadovaný ověřovací aplikací." }, "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" + "message": "Opravdu chcete zakázat tohoto poskytovatele dvoufázového přihlášení?" }, "twoStepDisabled": { - "message": "Two-step login provider disabled." + "message": "Poskytovatel dvoufázového přihlášení byl zakázán" }, "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" + "message": "Přidání nového YubiKey k vašemu účtu" }, "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey (NEO or 4 series) into your computer's USB port." + "message": "Připojte YubiKey (NEO nebo 4. řada) do USB portu počítače." }, "twoFactorYubikeySelectKey": { - "message": "Select in the first empty YubiKey input field below." + "message": "Vyberte první prázdné pole YubiKey níže." }, "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." + "message": "Dotkněte se tlačítka na YubiKey." }, "twoFactorYubikeySaveForm": { - "message": "Save the form." + "message": "Uložte formulář." }, "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" + "message": "Z důvodu omezení různých platforem, nemůže být YubiKey použit ve všech aplikacích Bitwarden. Měli byste povolit jiný způsob dvoufázového přihlášení pro případy, kdy nelze YubiKey použít. Podporované platformy:" }, "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." + "message": "Webový trezor, aplikace, CLI a rozšíření pro prohlížeče na zařízeních s USB portem." }, "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." + "message": "Mobilní aplikace na zařízeních s podporou NFC nebo USB portu." }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1120,76 +1127,76 @@ } }, "nfcSupport": { - "message": "NFC Support" + "message": "Podpora NFC" }, "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." + "message": "Jeden z mých klíčů podporuje NFC." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." + "message": "Pokud některý z vašich YubiKey podporuje NFC (např. YubiKey NEO), budete na mobilních zařízeních vyzvání k ověření pomocí NFC, pokud bude na daném zařízení tato technologie detekována." }, "yubikeysUpdated": { - "message": "YubiKeys updated" + "message": "YubiKey byly aktualizovány" }, "disableAllKeys": { - "message": "Disable All Keys" + "message": "Zakázat všechny klíče" }, "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." + "message": "Zadejte informace o aplikaci Bitwarden z panelu Duo Admin." }, "twoFactorDuoIntegrationKey": { - "message": "Integration Key" + "message": "Integrační klíč" }, "twoFactorDuoSecretKey": { - "message": "Secret Key" + "message": "Tajný klíč" }, "twoFactorDuoApiHostname": { - "message": "API Hostname" + "message": "Host API" }, "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" + "message": "Postupujte podle následujících kroků pro nastavení dvoufázového přihlášení pomocí e-mailu:" }, "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" + "message": "Zadejte e-mail, na který si přejete dostávat ověřovací kódy" }, "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" + "message": "Zadejte 6-místný kód zaslaný na e-mail" }, "sendEmail": { - "message": "Send Email" + "message": "Odeslat e-mail" }, "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" + "message": "Přidání bezpečnostního klíče FIDO U2F k vašemu účtu" }, "twoFactorU2fPlugIn": { - "message": "Plug the security key into your computer's USB port." + "message": "Připojte bezpečnostní klíč do portu USB počítače." }, "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." + "message": "Pokud má bezpečnostní klíč tlačítko, zmáčkněte jej." }, "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" + "message": "Z důvodu omezení různých platforem, nemůže být FIDO U2F použit ve všech aplikacích Bitwarden. Měli byste povolit jiný způsob dvoufázového přihlášení pro případy, kdy nelze FIDO U2F použít. Podporované platformy:" }, "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop\/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." + "message": "Webový trezor a rozšíření pro prohlížeče s podporou U2F (Chrome, Opera, Vivaldi nebo Firefox)." }, "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" + "message": "Čeká se na stisknutí tlačítka na bezpečnostním klíči" }, "twoFactorU2fClickEnable": { - "message": "Click the \"Enable\" button below to enable this security key for two-step login." + "message": "Klepněte níže na tlačítko \"Povolit\" pro povolení tohoto bezpečnostního klíče pro dvoufázové přihlášení." }, "twoFactorU2fProblemReading": { - "message": "There was a problem reading the security key." + "message": "Došlo k potížím při čtení bezpečnostního klíče." }, "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" + "message": "Váše kód pro obnovení dvoufázového přihlášení" }, "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." + "message": "Doposud jste nepovolili žádný způsob dvoufázového přihlášení. Až některý způsob povolíte, můžete se sem vrátit pro zobrazení kódu pro obnovení." }, "printCode": { - "message": "Print Code", + "message": "Vytisknout kód", "description": "Print 2FA recovery code" }, "reports": { @@ -1217,7 +1224,7 @@ } }, "goodNews": { - "message": "Good News", + "message": "Dobré zprávy", "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { @@ -1240,7 +1247,7 @@ "message": "Compromised data" }, "website": { - "message": "Website" + "message": "Webová stránka" }, "affectedUsers": { "message": "Affected Users" @@ -1255,7 +1262,7 @@ "message": "An error occurred trying to load the report. Try again" }, "billingAndLicensing": { - "message": "Billing & Licensing" + "message": "Faktury a licence" }, "goPremium": { "message": "Go Premium", @@ -1268,22 +1275,22 @@ "message": "Upgrade your account to a premium membership and unlock some great additional features." }, "premiumSignUpStorage": { - "message": "1 GB of encrypted file storage." + "message": "1 GB šifrovaného uložiště." }, "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + "message": "Další možnosti dvoufázového přihlášení, jako je například YubiKey, FIDO U2F a Duo." }, "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." + "message": "Generátor TOTP ověřovacího kódu (2FA) pro přihlášení do trezoru." }, "premiumSignUpSupport": { - "message": "Priority customer support." + "message": "Prioritní zákaznická podpora." }, "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" + "message": "Všechny budoucí prémiové funkce. Více již brzy!" }, "premiumPrice": { - "message": "All for just $PRICE$ \/year!", + "message": "Vše jen za $PRICE$ ročně!", "placeholders": { "price": { "content": "$1", @@ -1292,13 +1299,13 @@ } }, "addons": { - "message": "Addons" + "message": "Doplňky" }, "additionalStorageGb": { - "message": "Additional Storage (GB)" + "message": "Další úložiště (GB)" }, "additionalStorageGbDesc": { - "message": "# of additional GB" + "message": "# dalších GB" }, "additionalStorageDesc": { "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB \/year.", @@ -1314,19 +1321,19 @@ } }, "summary": { - "message": "Summary" + "message": "Souhrn" }, "total": { - "message": "Total" + "message": "Celkem" }, "year": { - "message": "year" + "message": "rok" }, "month": { - "message": "month" + "message": "měsíc" }, "monthAbbr": { - "message": "mo.", + "message": "měs.", "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { @@ -1342,73 +1349,73 @@ } }, "paymentInformation": { - "message": "Payment Information" + "message": "Informace o platbě" }, "creditCard": { - "message": "Credit Card" + "message": "Kreditní karta" }, "paypalClickSubmit": { "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." }, "cancelSubscription": { - "message": "Cancel Subscription" + "message": "Zrušit předplatné" }, "subscriptionCanceled": { - "message": "The subscription has been canceled." + "message": "Předplatné bylo zrušeno" }, "pendingCancellation": { - "message": "Pending Cancellation" + "message": "Čeká na zrušení" }, "subscriptionPendingCanceled": { "message": "The subscription has been marked for cancellation at the end of the current billing period." }, "reinstateSubscription": { - "message": "Reinstate Subscription" + "message": "Obnovit předplatné" }, "reinstateConfirmation": { "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" }, "reinstated": { - "message": "The subscription has been reinstated." + "message": "Předplatné bylo obnoveno" }, "cancelConfirmation": { "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." }, "canceledSubscription": { - "message": "The subscription has been canceled." + "message": "Předplatné bylo zrušeno" }, "neverExpires": { - "message": "Never Expires" + "message": "Nikdy nevyprší" }, "status": { - "message": "Status" + "message": "Stav" }, "nextCharge": { - "message": "Next Charge" + "message": "Další platba" }, "details": { - "message": "Details" + "message": "Podrobnosti" }, "downloadLicense": { - "message": "Download License" + "message": "Stáhnout licenci" }, "updateLicense": { - "message": "Update License" + "message": "Aktualizovat licenci" }, "updatedLicense": { - "message": "Updated license" + "message": "Licence byla aktualizována" }, "manageSubscription": { - "message": "Manage Subscription" + "message": "Správa předplatného" }, "storage": { - "message": "Storage" + "message": "Úložiště" }, "addStorage": { - "message": "Add Storage" + "message": "Přidat uložiště" }, "removeStorage": { - "message": "Remove Storage" + "message": "Odebrat uložiště" }, "subscriptionStorage": { "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", @@ -1424,7 +1431,7 @@ } }, "paymentMethod": { - "message": "Payment Method" + "message": "Způsob Platby" }, "noPaymentMethod": { "message": "No payment method on file." @@ -1436,11 +1443,11 @@ "message": "Change Payment Method" }, "charges": { - "message": "Charges", + "message": "Platby", "description": "Credit card charges\/payments." }, "noCharges": { - "message": "No charges." + "message": "Žádné platby." }, "chargesStatement": { "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", @@ -1479,16 +1486,16 @@ "message": "If you would like to change from this payment method please contact customer support." }, "updatedPaymentMethod": { - "message": "Updated payment method." + "message": "Platební metoda byla aktualizována" }, "purchasePremium": { - "message": "Purchase Premium" + "message": "Zakoupit prémiové členství" }, "licenseFile": { - "message": "License File" + "message": "Soubor s licencí" }, "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", + "message": "Váš licenční soubor bude pojmenován podobně jako $FILE_NAME$", "placeholders": { "file_name": { "content": "$1", @@ -1509,25 +1516,25 @@ "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." }, "generalInformation": { - "message": "General Information" + "message": "Obecné informace" }, "organizationName": { - "message": "Organization Name" + "message": "Název organizace" }, "accountOwnedBusiness": { "message": "This account is owned by a business." }, "billingEmail": { - "message": "Billing Email" + "message": "E-mailová adresa pro fakturaci" }, "businessName": { - "message": "Business Name" + "message": "Obchodní jméno" }, "chooseYourPlan": { "message": "Choose Your Plan" }, "users": { - "message": "Users" + "message": "Uživatelé" }, "userSeats": { "message": "User Seats" @@ -1555,7 +1562,7 @@ "message": "How many user seats do you need? You can also add additional seats later if needed." }, "planNameFree": { - "message": "Free" + "message": "Zdarma" }, "planDescFree": { "message": "For testing or personal users to share with $COUNT$ other user.", @@ -1567,13 +1574,13 @@ } }, "planNameFamilies": { - "message": "Families" + "message": "Rodiny" }, "planDescFamilies": { "message": "For personal use, to share with family & friends." }, "planNameTeams": { - "message": "Teams" + "message": "Týmy" }, "planDescTeams": { "message": "For businesses and other team organizations." @@ -1585,10 +1592,10 @@ "message": "For businesses and other large organizations." }, "freeForever": { - "message": "Free Forever" + "message": "Navždy zdarma" }, "includesXUsers": { - "message": "includes $COUNT$ users", + "message": "zahrnuje $COUNT$ uživatelů", "placeholders": { "count": { "content": "$1", @@ -1600,7 +1607,7 @@ "message": "Additional Users" }, "costPerUser": { - "message": "$COST$ per user", + "message": "$COST$ za uživatele", "placeholders": { "cost": { "content": "$1", @@ -1666,7 +1673,7 @@ "message": "Enforce 2FA with Duo" }, "priorityCustomerSupport": { - "message": "Priority customer support" + "message": "Přednostní zákaznická podpora" }, "xDayFreeTrial": { "message": "$COUNT$ day free trial, cancel anytime", @@ -1678,70 +1685,70 @@ } }, "monthly": { - "message": "Monthly" + "message": "Měsíčně" }, "annually": { - "message": "Annually" + "message": "Ročně" }, "basePrice": { - "message": "Base Price" + "message": "Základní cena" }, "organizationCreated": { - "message": "Organization Created" + "message": "Organizace byla vytvořena" }, "organizationReadyToGo": { "message": "Your new organization is ready to go!" }, "leave": { - "message": "Leave" + "message": "Opustit" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "Opravdu chcete tuto organizaci opustit?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "Organizace byla opuštěna" }, "defaultCollection": { - "message": "Default Collection" + "message": "Výchozí kolekce" }, "getHelp": { - "message": "Get Help" + "message": "Získat nápovědu" }, "getApps": { - "message": "Get the Apps" + "message": "Získat aplikaci" }, "loggedInAs": { - "message": "Logged in as" + "message": "Přihlášen jako" }, "eventLogs": { - "message": "Event Logs" + "message": "Protokol událostí" }, "people": { - "message": "People" + "message": "Lidé" }, "groups": { - "message": "Groups" + "message": "Skupiny" }, "newGroup": { - "message": "New Group" + "message": "Nová Skupina" }, "addGroup": { - "message": "Add Group" + "message": "Přidat skupinu" }, "editGroup": { - "message": "Edit Group" + "message": "Upravit skupinu" }, "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" + "message": "Opravdu chcete tuto skupinu smazat?" }, "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" + "message": "Opravdu chcete tohoto uživatele smazat?" }, "externalId": { - "message": "External Id" + "message": "Externí ID" }, "externalIdGroupDesc": { - "message": "The external id is used to link this group to an external system such as a user directory." + "message": "Externí ID slouží k propojení této skupiny s externím systémem, například s adresářem uživatelů." }, "accessControl": { "message": "Access Control" @@ -1753,25 +1760,25 @@ "message": "This group can access only the selected collections." }, "readOnly": { - "message": "Read Only" + "message": "Pouze pro čtení" }, "newCollection": { - "message": "New Collection" + "message": "Nová kolekce" }, "addCollection": { - "message": "Add Collection" + "message": "Přidat kolekci" }, "editCollection": { - "message": "Edit Collection" + "message": "Upravit kolekci" }, "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" + "message": "Opravdu chcete tuto kolekci smazat?" }, "editUser": { - "message": "Edit User" + "message": "Upravit uživatele" }, "inviteUser": { - "message": "Invite User" + "message": "Pozvat uživatele" }, "inviteUserDesc": { "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." @@ -1792,73 +1799,73 @@ "message": "This user can access only the selected collections." }, "search": { - "message": "Search" + "message": "Hledat" }, "invited": { - "message": "Invited" + "message": "Pozván\/a" }, "accepted": { - "message": "Accepted" + "message": "Přijato" }, "confirmed": { - "message": "Confirmed" + "message": "Potvrzeno" }, "owner": { - "message": "Owner" + "message": "Vlastník" }, "ownerDesc": { "message": "The highest access user that can manage all aspects of your organization." }, "admin": { - "message": "Admin" + "message": "Administrátor" }, "adminDesc": { "message": " Admins can access and manage all items, collections and users in your organization." }, "user": { - "message": "User" + "message": "Uživatel" }, "userDesc": { "message": "A regular user with access to your organization's collections." }, "all": { - "message": "All" + "message": "Vše" }, "refresh": { - "message": "Refresh" + "message": "Obnovit" }, "timestamp": { - "message": "Timestamp" + "message": "Časová značka" }, "event": { - "message": "Event" + "message": "Událost" }, "unknown": { - "message": "Unknown" + "message": "Neznámé" }, "loadMore": { - "message": "Load More" + "message": "Načíst více" }, "mobile": { - "message": "Mobile", + "message": "Mobil", "description": "Mobile app" }, "extension": { - "message": "Extension", + "message": "Rozšíření", "description": "Browser extension\/addon" }, "desktop": { - "message": "Desktop", + "message": "Počítač", "description": "Desktop app" }, "webVault": { - "message": "Web Vault" + "message": "Webový trezor" }, "loggedIn": { - "message": "Logged in." + "message": "Přihlášen." }, "changedPassword": { - "message": "Changed account password." + "message": "Heslo účtu bylo změněno" }, "enabled2fa": { "message": "Enabled two-step login." @@ -2098,7 +2105,7 @@ "message": "End Date" }, "verifyEmail": { - "message": "Verify Email" + "message": "Ověřit e-mail" }, "verifyEmailDesc": { "message": "Verify your account's email address to unlock access to all features." @@ -2110,7 +2117,7 @@ "message": "Check your email inbox for a verification link." }, "emailVerified": { - "message": "Your email has been verified." + "message": "Vaše e-mailová adresa byla ověřena" }, "emailVerifiedFailed": { "message": "Unable to verify your email. Try sending a new verification email." @@ -2122,13 +2129,13 @@ "message": "You are using an unsupported web browser. The web vault may not function properly." }, "joinOrganization": { - "message": "Join Organization" + "message": "Přidat se k organizaci" }, "joinOrganizationDesc": { "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." }, "inviteAccepted": { - "message": "Invitation Accepted" + "message": "Pozvánka byla přijata" }, "inviteAcceptedDesc": { "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." @@ -2137,7 +2144,7 @@ "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." }, "rememberEmail": { - "message": "Remember email" + "message": "Pamatovat si e-mail" }, "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." @@ -2149,7 +2156,7 @@ "message": "Two-step login has been disabled on your account." }, "learnMore": { - "message": "Learn more" + "message": "Dozvědět se více" }, "deleteRecoverDesc": { "message": "Enter your email address below to recover and delete your account." @@ -2161,10 +2168,10 @@ "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." }, "myOrganization": { - "message": "My Organization" + "message": "Má organizace" }, "deleteOrganization": { - "message": "Delete Organization" + "message": "Smazat organizaci" }, "deleteOrganizationDesc": { "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " @@ -2173,13 +2180,13 @@ "message": "Deleting the organization is permanent. It cannot be undone." }, "organizationDeleted": { - "message": "Organization Deleted" + "message": "Organizace byla smazána" }, "organizationDeletedDesc": { "message": "The organization and all associated data has been deleted." }, "organizationUpdated": { - "message": "Organization updated" + "message": "Organizace byla aktualizována" }, "taxInformation": { "message": "Tax Information" @@ -2312,7 +2319,7 @@ "message": "Subscription" }, "loading": { - "message": "Loading" + "message": "Načítání" }, "upgrade": { "message": "Upgrade" @@ -2330,22 +2337,57 @@ "message": "Before creating your organization, you first need to create a free personal account." }, "refunded": { - "message": "Refunded" + "message": "Platba vrácena" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "Nic jste nevybrali." }, "submitAgreePolicies": { "message": "By clicking the \"Submit\" button, you agree to the following policies:", "description": "A policy is something like Terms of Service, Privacy Policy, etc." }, "termsOfService": { - "message": "Terms of Service" + "message": "Podmínky služby" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "Zásady ochrany osobních údajů" }, "filters": { - "message": "Filters" + "message": "Filtry" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Vyberte kdy dojde k automatickému uzamčení trezoru. Pro opětovný přístup do uzamčeného trezoru bude potřeba znovu zadat hlavního heslo." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/da/messages.json b/locales/da/messages.json index 99ce49ad..fd6a70a2 100644 --- a/locales/da/messages.json +++ b/locales/da/messages.json @@ -862,7 +862,7 @@ "message": "Fjern godkendelsen fra sessioner" }, "deauthorizeSessionsDesc": { - "message": "Bekymret for om din konto er logget ind på en anden enhed? Fortsæt nedenfor for at fjerne godkendelsen for alle computere eller enheder, som du tidligere har brugt. Dette sikkerhedstrin anbefales, hvis du tidligere har brugt en offentlig pc eller ved et uheld har gemt dit kodeord på en enhed, der ikke er din. Dette trin fjerner også alle tidligere huskede to-trins-login sessioner." + "message": "Bekymret for om din konto er logget ind på en anden enhed? Fortsæt nedenfor for at fjerne godkendelsen for alle computere eller enheder, som du tidligere har brugt. Dette sikkerhedstrin anbefales, hvis du tidligere har brugt en offentlig computer eller ved et uheld har gemt dit kodeord på en enhed, der ikke er din. Dette trin fjerner også alle tidligere huskede to-trins-login sessioner." }, "deauthorizeSessionsWarning": { "message": "Ved at fortsætte vil du også blive logget ud af din nuværende session, og du skal logge ind igen. Du bliver også bedt om to-trins login igen, hvis det er aktiveret. Aktive sessioner på andre enheder kan fortsat forblive aktive i op til én time." @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Webikoner vises som et genkendeligt billede ved siden af hvert loginelement i din boks." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Standard" }, @@ -1093,7 +1100,7 @@ "message": "Sæt YubiKey'en (NEO eller 4-serien) i din computers USB-port." }, "twoFactorYubikeySelectKey": { - "message": "Vælg i det første tomme YubiKey-indtastningsfelt nedenfor." + "message": "Vælg det første tomme YubiKey-indtastningsfelt nedenfor." }, "twoFactorYubikeyTouchButton": { "message": "Tryk på YubiKey knappen." @@ -1330,10 +1337,10 @@ "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { - "message": "Din valgte betalingsmetode vil blive opkrævet straks og løbende hvert år. Du kan til enhver tid opsige." + "message": "Din valgte betalingsmetode vil blive opkrævet straks og derefter løbende hvert år. Du kan til enhver tid opsige." }, "paymentChargedWithTrial": { - "message": "Dit abonnement indeholder en gratis 7-dages prøveperiode. Dit kort debiteres ikke, før prøveperioden er afsluttet, og derefter hver $INTERVAL$. Du kan til enhver tid opsige.", + "message": "Dit abonnement kommer med en gratis 7-dages prøveperiode. Din valgte betalingsmetode vil ikke blive opkrævet, før prøveperioden er afsluttet. Fakturering finder sted hver(t) $INTERVAL$. Du kan til enhver tid opsige.", "placeholders": { "interval": { "content": "$1", @@ -2346,6 +2353,41 @@ "message": "Privatlivspolitik" }, "filters": { - "message": "Filters" + "message": "Filtre" + }, + "lockOptions": { + "message": "Låseindstillinger" + }, + "lockOptionsDesc": { + "message": "Vælg hvornår din boks låses. En låst boks kræver at du gentaster din hovedadgangskode for at tilgå den igen." + }, + "oneMinute": { + "message": "1 minut" + }, + "fiveMinutes": { + "message": "5 minutter" + }, + "fifteenMinutes": { + "message": "15 minutter" + }, + "thirtyMinutes": { + "message": "30 minutter" + }, + "oneHour": { + "message": "1 time" + }, + "fourHours": { + "message": "4 timer" + }, + "onRefresh": { + "message": "Ved browser opdatering" + }, + "dateUpdated": { + "message": "Opdateret", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Adgangskode opdateret", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/de/messages.json b/locales/de/messages.json index eb00a996..9b9a0828 100644 --- a/locales/de/messages.json +++ b/locales/de/messages.json @@ -1,6 +1,6 @@ { "pageTitle": { - "message": "$APP_NAME$ Web Tresor", + "message": "$APP_NAME$ Web-Tresor", "description": "The title of the website in the browser window.", "placeholders": { "app_name": { @@ -10,7 +10,7 @@ } }, "whatTypeOfItem": { - "message": "Um welchen Kontotyp handelt es sich hierbei?" + "message": "Um welche Art von Eintrag handelt es sich hierbei?" }, "name": { "message": "Name" @@ -125,7 +125,7 @@ "message": "Frau" }, "ms": { - "message": "Frau" + "message": "Fr." }, "dr": { "message": "Dr." @@ -177,7 +177,7 @@ "message": "Basisdomäne" }, "host": { - "message": "Server", + "message": "Host", "description": "A URL's host value. For example, the host of https:\/\/sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { @@ -199,7 +199,7 @@ "description": "Default URI match detection for auto-fill." }, "never": { - "message": "Nie" + "message": "Niemals" }, "toggleVisibility": { "message": "Sichtbarkeit umschalten" @@ -220,7 +220,7 @@ } }, "passwordSafe": { - "message": "Dieses Kennwort wurde in keinen bekannten Datensätzen gefunden. Es sollte sicher sein." + "message": "Dieses Kennwort wurde in keinen bekannten Datendiebstählen gefunden. Es sollte sicher sein." }, "save": { "message": "Speichern" @@ -320,7 +320,7 @@ "message": "Land" }, "shared": { - "message": "Freigegeben" + "message": "Geteilt" }, "attachments": { "message": "Anhänge" @@ -329,10 +329,10 @@ "message": "Auswählen" }, "addItem": { - "message": "Element hinzufügen" + "message": "Eintrag hinzufügen" }, "editItem": { - "message": "Element bearbeiten" + "message": "Eintrag bearbeiten" }, "ex": { "message": "Bsp.", @@ -342,7 +342,7 @@ "message": "Sonstiges" }, "share": { - "message": "Freigeben" + "message": "Teilen" }, "valueCopied": { "message": "$VALUE$ kopiert", @@ -363,7 +363,7 @@ "description": "Copy password to clipboard" }, "copyUsername": { - "message": "Benutzernamen Kopieren", + "message": "Benutzernamen kopieren", "description": "Copy username to clipboard" }, "copyNumber": { @@ -394,7 +394,7 @@ "message": "Ausgewählte verschieben" }, "selectAll": { - "message": "Alles auswählen" + "message": "Alle auswählen" }, "unselectAll": { "message": "Alle abwählen" @@ -436,7 +436,7 @@ "message": "Eintrag teilen" }, "sharedItems": { - "message": "geteilte Einträge" + "message": "Geteilte Einträge" }, "deleteItem": { "message": "Eintrag löschen" @@ -457,7 +457,7 @@ "message": "Papierkorb" }, "movedItems": { - "message": "Verschobene Elemente" + "message": "Verschobene Einträge" }, "overwritePasswordConfirmation": { "message": "Sind Sie sicher, dass Sie das aktuelle Passwort überschreiben möchten?" @@ -478,7 +478,7 @@ "message": "Ausgeloggt" }, "loginExpired": { - "message": "Ihre Login-Sitzung ist abgelaufen." + "message": "Ihre Anmeldungsitzung ist abgelaufen." }, "logOutConfirmation": { "message": "Wollen Sie sich wirklich abmelden?" @@ -487,7 +487,7 @@ "message": "Abmelden" }, "ok": { - "message": "Ok" + "message": "Okay" }, "yes": { "message": "Ja" @@ -496,10 +496,10 @@ "message": "Nein" }, "loginOrCreateNewAccount": { - "message": "Sie müssen sich anmelden oder einen neuen Account erstellen, um auf den Tresor zugreifen zu können." + "message": "Sie müssen sich anmelden oder ein neues Konto erstellen, um auf den Tresor zugreifen zu können." }, "createAccount": { - "message": "Account erstellen" + "message": "Konto erstellen" }, "logIn": { "message": "Anmelden" @@ -508,7 +508,7 @@ "message": "Absenden" }, "emailAddressDesc": { - "message": "Verwenden Sie Ihre e-Mail-Adresse zur Anmeldung." + "message": "Verwenden Sie Ihre E-Mail-Adresse zur Anmeldung." }, "yourName": { "message": "Ihr Name" @@ -520,19 +520,19 @@ "message": "Master-Passwort" }, "masterPassDesc": { - "message": "Das Master-Passwort wird verwendet, um den Tresor zu öffnen. Es ist sehr wichtig, dass sie das Passwort nicht vergessen, da es keine Möglichkeit gibt es zurückzusetzen." + "message": "Das Master-Passwort wird verwendet, um den Tresor zu öffnen. Es ist sehr wichtig, dass Sie das Passwort nicht vergessen, da es keine Möglichkeit gibt es zurückzusetzen." }, "masterPassHintDesc": { - "message": "Ein Master-Passwort-Hinweis kann ihnen helfen, sich an das Passwort zu erinnern, wenn sie es vergessen haben sollten." + "message": "Ein Master-Passwort-Hinweis kann Ihnen helfen, sich an das Passwort zu erinnern, wenn Sie es vergessen haben sollten." }, "reTypeMasterPass": { - "message": "Masterpasswort wiederholen" + "message": "Master-Passwort wiederholen" }, "masterPassHint": { - "message": "Masterpassworthinweis (optional)" + "message": "Master-Passwort-Hinweis (optional)" }, "masterPassHintLabel": { - "message": "Master-Passwort Hinweis" + "message": "Master-Passwort-Hinweis" }, "settings": { "message": "Einstellungen" @@ -541,10 +541,10 @@ "message": "Passworthinweis" }, "enterEmailToGetHint": { - "message": "Geben sie die E-Mail Adresse ihres Kontos ein, um einen Hinweis für ihr Master-Passwort zu erhalten." + "message": "Geben Sie die E-Mail Adresse Ihres Kontos ein, um einen Hinweis auf ihr Master-Passwort zu erhalten." }, "getMasterPasswordHint": { - "message": "Hinweis zum Master-Passwort zusenden" + "message": "Hinweis zum Master-Passwort erhalten" }, "emailRequired": { "message": "Die E-Mail Adresse wird benötigt." @@ -559,22 +559,22 @@ "message": "Das Master-Passwort muss mindestens 8 Zeichen lang sein." }, "masterPassDoesntMatch": { - "message": "Die Passwortbestätigung stimmt nicht mit dem Passwort überein." + "message": "Master-Passwort-Bestätigung stimmt nicht überein." }, "newAccountCreated": { "message": "Ihr neues Konto wurde erstellt! Sie können sich jetzt anmelden." }, "masterPassSent": { - "message": "Wir haben ihnen eine E-Mail mit dem Master-Passwort Hinweis zugesendet." + "message": "Wir haben Ihnen eine E-Mail mit dem Master-Passwort-Hinweis zu gesendet." }, "unexpectedError": { "message": "Ein unerwarteter Fehler ist aufgetreten." }, "emailAddress": { - "message": "E-Mail Adresse" + "message": "E-Mail-Adresse" }, "yourVaultIsLocked": { - "message": "Ihr Tresor ist gesperrt. Überprüfen sie ihr Master-Passwort um fortzufahren." + "message": "Ihr Tresor ist gesperrt. Überprüfen Sie Ihr Master-Passwort um fortzufahren." }, "unlock": { "message": "Entsperren" @@ -586,25 +586,25 @@ "message": "Jetzt sperren" }, "noItemsInList": { - "message": "Keine Einträge zum Anzeigen vorhanden." + "message": "Keine Einträge vorhanden." }, "noCollectionsInList": { - "message": "Es gibt noch keine Sammlungen." + "message": "Keine Sammlungen vorhanden." }, "noGroupsInList": { "message": "Keine Gruppen vorhanden." }, "noUsersInList": { - "message": "Keine Benutzer zum Anzeigen vorhanden." + "message": "Keine Benutzer vorhanden." }, "noEventsInList": { - "message": "Keine Ereignisse zum Anzeigen vorhanden." + "message": "Keine Ereignisse vorhanden." }, "newOrganization": { "message": "Neue Organisation" }, "noOrganizationsList": { - "message": "Sie gehören keiner Organisation an. Organisationen erlauben es ihnen Passwörter sicher mit anderen zu teilen." + "message": "Sie gehören keiner Organisation an. Organisationen erlauben es Ihnen Passwörter sicher mit anderen zu teilen." }, "versionNumber": { "message": "Version $VERSION_NUMBER$", @@ -616,10 +616,10 @@ } }, "enterVerificationCodeApp": { - "message": "Geben sie den 6-stelligen Verifizierungscode aus ihrer Authenticator App ein." + "message": "Geben Sie den 6-stelligen Verifizierungscode aus Ihrer Authentifizierungs-App ein." }, "enterVerificationCodeEmail": { - "message": "Geben sie den 6-stelligen Verifizierungscode der an $EMAIL$ gesendet wurde an", + "message": "Geben Sie den 6-stelligen Verifizierungscode der an $EMAIL$ gesendet wurde an.", "placeholders": { "email": { "content": "$1", @@ -643,28 +643,28 @@ "message": "E-Mail mit Bestätigungscode erneut versenden" }, "useAnotherTwoStepMethod": { - "message": "Verwenden sie eine andere Zwei-Faktor Login-Methode" + "message": "Verwenden sie eine andere Zwei-Faktor-Anmelde-Methode" }, "insertYubiKey": { - "message": "Stecken sie ihren YubiKey in einen USB-Port ihres Computers und berühren sie den Knopf." + "message": "Stecken Sie Ihren YubiKey in einen USB-Port Ihres Computers und berühren Sie dessen Knopf." }, "insertU2f": { - "message": "Stecke deinen Sicherheitsschlüssel in einen USB-Port deines Computers. Falls er einen Knopf hat drücke, drücke diesen." + "message": "Stecken Sie Ihren Sicherheitsschlüssel in einen USB-Port des Computers. Falls dieser einen Knopf hat, drücken Sie ihn." }, "loginUnavailable": { - "message": "Login nicht verfügbar" + "message": "Anmeldung nicht verfügbar" }, "noTwoStepProviders": { - "message": "Dieses Konto hat eine aktive Zwei Faktor-Authentifizierung, allerdings wird keiner der konfigurierten Zwei Faktor-Anbieter von diesem Browser unterstützt." + "message": "Dieses Konto hat eine aktive Zwei-Faktor-Authentifizierung, allerdings wird keiner der konfigurierten Zwei-Faktor-Anbietern von diesem Browser unterstützt." }, "noTwoStepProviders2": { - "message": "Bitte benutze einen unterstützten Browser (z.B. Chrome) und \/ oder füge zusätzliche Anbieter hinzu, die von mehr Browsern unterstützt werden (wie eine Authentifizierungs-App)." + "message": "Bitte benutzen Sie einen unterstützten Browser (z. B. Chrome) und \/ oder fügen Sie zusätzliche Anbieter hinzu, die von mehr Browsern unterstützt werden (z. B. eine Authentifizierungs-App)." }, "twoStepOptions": { - "message": "Optionen für Zwei-Faktor Authentifizierung" + "message": "Optionen für Zwei-Faktor-Authentifizierung" }, "recoveryCodeDesc": { - "message": "Zugang zu allen Zwei-Faktor Anbietern verloren? Benutze deinen Wiederherstellungscode, um alle Zwei-Faktor Anbieter in deinem Konto zu deaktivieren." + "message": "Zugang zu allen Zwei-Faktor-Anbietern verloren? Benutzen Sie Ihren Wiederherstellungscode, um alle Zwei-Faktor-Anbieter in Ihrem Konto zu deaktivieren." }, "recoveryCodeTitle": { "message": "Wiederherstellungscode" @@ -673,25 +673,25 @@ "message": "Authentifizierungs-App" }, "authenticatorAppDesc": { - "message": "Verwende eine Authentifizierungs-App (wie zum Beispiel Authy oder Google Authenticator), um zeitbasierte Verifizierungscodes zu generieren.", + "message": "Verwenden Sie eine Authentifizierungs-App (wie zum Beispiel Authy oder Google Authenticator), um zeitbasierte Verifizierungscodes zu generieren.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { "message": "YubiKey OTP Sicherheitsschlüssel" }, "yubiKeyDesc": { - "message": "Verwende einen YubiKey um auf dein Konto zuzugreifen. Funtioniert mit YubiKey 4, Nano 4, 4C und NEO Geräten." + "message": "Verwenden Sie einen YubiKey um auf Ihr Konto zuzugreifen. Funtioniert mit YubiKey 4, Nano 4, 4C und NEO Geräten." }, "duoDesc": { - "message": "Verifiziere mit Duo Security, indem du die Duo Mobile App, SMS, Anrufe oder U2F Sicherheitsschlüssel benutzt.", + "message": "Verifizieren Sie mit Duo Security, indem Sie die Duo Mobile App, SMS, Anrufe oder U2F Sicherheitsschlüssel benutzen.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Nutzen sie Duo Security um sich mit der Duo Mobile App, SMS, per Anruf oder U2F Sicherheitsschlüssel ihrer Organisation gegenüber zu verifizieren.", + "message": "Nutzen Sie Duo Security um sich mit der Duo Mobile App, SMS, per Anruf oder U2F Sicherheitsschlüssel Ihrer Organisation gegenüber zu verifizieren.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Benutzen sie einen FIDO U2F-kompatiblen Sicherheitsschlüssel um auf ihr Konto zuzugreifen." + "message": "Benutzen Sie einen FIDO U2F-kompatiblen Sicherheitsschlüssel um auf Ihr Konto zuzugreifen." }, "u2fTitle": { "message": "FIDO U2F Sicherheitsschlüssel" @@ -712,16 +712,16 @@ "message": "Organisationen" }, "shareDesc": { - "message": "Wähle eine Organisation aus, für die du diesen Eintrag freigeben möchtest. Die gemeinsame Nutzung überträgt das Eigentum an dem Eintrag auf diese Organisation. Du bist nicht mehr der direkte Besitzer dieses Eintrags, sobald er geteilt wurde." + "message": "Wählen Sie eine Organisation aus, für die Sie diesen Eintrag freigeben möchten. Die gemeinsame Nutzung überträgt das Eigentum an dem Eintrag auf diese Organisation. Sie sind dann nicht mehr der direkte Besitzer dieses Eintrags, sobald er geteilt wurde." }, "shareManyDesc": { - "message": "Wähle eine Organisation aus, für die du diese Einträge freigeben möchtest. Die gemeinsame Nutzung überträgt das Eigentum an den Einträgen auf diese Organisation. Du bist nicht mehr der direkte Besitzer dieser Einträge, sobald sie geteilt wurden." + "message": "Wählen Sie eine Organisation aus, für die Sie diese Einträge freigeben möchten. Die gemeinsame Nutzung überträgt das Eigentum an den Einträgen auf diese Organisation. Sie sind dann nicht mehr der direkte Besitzer dieser Einträge, sobald sie geteilt wurden." }, "collectionsDesc": { "message": "Bearbeiten Sie die Sammlungen, mit denen dieser Eintrag geteilt wird. Nur Organisationsbenutzer mit Zugriff auf diese Sammlungen werden diesen Eintrag sehen." }, "deleteSelectedItemsDesc": { - "message": "Du hast $COUNT$ Eintrag\/Einträge zum Löschen ausgewählt. Bist du sicher, dass du alle diese Einträge löschen möchtest?", + "message": "Sie haben $COUNT$ Eintrag\/Einträge zum Löschen ausgewählt. Sind Sie sicher, dass alle diese Einträge gelöscht werden sollen?", "placeholders": { "count": { "content": "$1", @@ -730,7 +730,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Wählen Sie einen Ordner aus, in welchen Sie die $COUNT$ ausgewählten Objekt(e) verschiedenen möchten.", + "message": "Wählen Sie einen Ordner aus, in den Sie $COUNT$ ausgewählte(s) Objekt(e) verschieben möchten.", "placeholders": { "count": { "content": "$1", @@ -765,10 +765,10 @@ "message": "Warnung" }, "exportWarning": { - "message": "Dieser Export enthält Ihre unverschlüsselten Daten im CSV-Format. Sie sollten sie nicht speichern oder über unsichere Kanäle (z. B. E-Mail) senden. Löschen Sie sie sofort nach ihrer Verwendung." + "message": "Dieser Export enthält Ihre unverschlüsselten Daten im CSV-Format. Sie sollten sie nicht speichern oder über unsichere Kanäle (z. B. E-Mail) senden. Löschen Sie sie sofort nach der Verwendung." }, "exportMasterPassword": { - "message": "Geben sie das Masterpasswort ein, um ihre Tresordaten zu exportieren." + "message": "Geben Sie das Master-Passwort ein, um Ihre Tresordaten zu exportieren." }, "exportVault": { "message": "Tresor exportieren" @@ -780,7 +780,7 @@ "message": "Passwortgenerator" }, "minNumbers": { - "message": "Mindestanzahl Zahlen" + "message": "Mindestanzahl Ziffern" }, "minSpecial": { "message": "Mindestanzahl Sonderzeichen", @@ -799,7 +799,7 @@ "message": "Kennwort-Historie" }, "noPasswordsInList": { - "message": "Keine Passwörter zum Anzeigen vorhanden." + "message": "Keine Passwörter vorhanden." }, "clear": { "message": "Löschen" @@ -808,7 +808,7 @@ "message": "Konto wurde aktualisiert" }, "changeEmail": { - "message": "E-Mail Adresse ändern" + "message": "E-Mail-Adresse ändern" }, "newEmail": { "message": "Neue E-Mail-Adresse" @@ -817,7 +817,7 @@ "message": "Code" }, "changeEmailDesc": { - "message": "Wir haben Ihnen einen Bestätigungscode an $EMAIL$ gesendet. Bitte prüfen Sie Ihre E-Mails und geben Sie den Code zur Bestätigung der E-Mail Änderung unten ein.", + "message": "Wir haben Ihnen einen Bestätigungscode an $EMAIL$ gesendet. Bitte prüfen Sie Ihre E-Mails und geben Sie den Code zur Bestätigung der E-Mail-Änderung unten ein.", "placeholders": { "email": { "content": "$1", @@ -826,7 +826,7 @@ } }, "loggedOutWarning": { - "message": "Wenn Sie fortfahren, werden Sie aus Ihrer aktuellen Session ausgeloggt. Aktive Sessions auf anderen Geräten können bis zu einer Stunde weiterhin verwendet werden." + "message": "Wenn Sie fortfahren, werden Sie aus Ihrer aktuellen Sitzung ausgeloggt. Aktive Sitzungen auf anderen Geräten können bis zu einer Stunde weiterhin verwendet werden." }, "emailChanged": { "message": "E-Mail geändert" @@ -835,22 +835,22 @@ "message": "Bitte melden Sie sich erneut an." }, "logBackInOthersToo": { - "message": "Bitte melden Sie sich wieder an. Wenn Sie andere Bitwarden Anwendung verwenden, melden Sie sich auch bitte dort wieder an." + "message": "Bitte melden Sie sich wieder an. Wenn Sie andere Bitwarden-Anwendung verwenden, melden Sie sich auch dort bitte neu an." }, "changeMasterPassword": { - "message": "Masterpasswort ändern" + "message": "Master-Passwort ändern" }, "masterPasswordChanged": { "message": "Master-Passwort geändert" }, "currentMasterPass": { - "message": "Aktuelles Masterpasswort" + "message": "Aktuelles Master-Passwort" }, "newMasterPass": { - "message": "Neues Masterpasswort" + "message": "Neues Master-Passwort" }, "confirmNewMasterPass": { - "message": "Neues Masterpasswort bestätigen" + "message": "Neues Master-Passwort bestätigen" }, "dangerZone": { "message": "Gefahrenzone" @@ -862,10 +862,10 @@ "message": "Sitzungen abmelden" }, "deauthorizeSessionsDesc": { - "message": "Glaubst du, noch auf einem anderen Computer angemeldet zu sein? Fahre hier fort, um dich auf allen Geräten abzumelden. Führe diesen Schritt durch, solltest du dich auf einem öffentlichen PC angemeldet haben, oder dein Passwort versehentlich auf einem Gerät gespeichert haben, welches nicht dir gehört. Dieser Schritt wird außerdem alle vorherig gespeicherten Sitzungen mit 2-Schritt-Anmeldung löschen." + "message": "Glauben Sie, noch auf einem anderen Gerät angemeldet zu sein? Fahren Sie hier fort, um sich auf allen Geräten abzumelden. Führen Sie diesen Schritt durch, wenn Sie sich auf einem öffentlichen PC angemeldet haben, oder Ihr Passwort versehentlich auf einem fremden Gerät gespeichert haben. Dieser Schritt wird außerdem alle vorherig gespeicherten Sitzungen mit Zwei-Faktor-Anmeldung löschen." }, "deauthorizeSessionsWarning": { - "message": "Solltest du dich von allen Geräten abmelden, wirst du auch von diesem Gerät abgemeldet und musst dich erneut anmelden. Solltest du die 2-Schritt Anmeldung aktiviert haben, musst du diese ebenfalls erneut auf diesem Gerät bestätigen. Es kann bis zu einer Stunde dauern, bis du auf allen Geräten abgemeldet bist." + "message": "Sollten Sie sich von allen Geräten abmelden, werden Sie auch vom jetzigen Gerät abgemeldet und müssen sich erneut anmelden. Sollten Sie die Zwei-Faktor-Anmeldung aktiviert haben, müssen Sie diese ebenfalls erneut auf diesem Gerät bestätigen. Es kann bis zu eine Stunde dauern, bis Sie auf allen Geräten abgemeldet sind." }, "sessionsDeauthorized": { "message": "Alle Sitzungen wurden abgemeldet" @@ -874,13 +874,13 @@ "message": "Tresor leeren" }, "purgeVaultDesc": { - "message": "Gehen Sie wie folgt vor, um alle Elemente und Ordner in Ihrem Depot zu löschen. Elemente, die zu einer Organisation gehören, die Sie mit anderen teilen, werden nicht gelöscht." + "message": "Gehen Sie wie folgt vor, um alle Einträge und Ordner in Ihrem Tresor zu löschen. Einträge, die zu einer Organisation gehören, die Sie mit anderen teilen, werden nicht gelöscht." }, "purgeVaultWarning": { - "message": "Tresorleerungen können nicht rückgängig gemacht werden." + "message": "Die Leerung des Tresor ist permanent. Sie kann nicht rückgängig gemacht werden." }, "vaultPurged": { - "message": "Ihr Tresor wurde bereinigt." + "message": "Ihr Tresor wurde geleert." }, "deleteAccount": { "message": "Konto löschen" @@ -889,13 +889,13 @@ "message": "Gehen Sie wie folgt vor, um Ihr Konto und alle zugehörigen Daten zu löschen." }, "deleteAccountWarning": { - "message": "Kontolöschungen können nicht rückgängig gemacht werden." + "message": "Die Kontolöschung ist permanent. Sie kann nicht rückgängig gemacht werden." }, "accountDeleted": { "message": "Konto gelöscht" }, "accountDeletedDesc": { - "message": "Ihr Konto und alle anhängigen Daten wurden gelöscht." + "message": "Ihr Konto und alle zugehörigen Daten wurden gelöscht." }, "myAccount": { "message": "Mein Konto" @@ -910,22 +910,22 @@ "message": "Daten wurden erfolgreich in Ihren Tresor importiert." }, "importFormatError": { - "message": "Die Daten sind nicht richtig formatiert, kontrollieren sie ihre import Datei bitte und versuchen sie es erneut." + "message": "Die Daten sind nicht richtig formatiert. Kontrollieren Sie bitte Ihre Import-Datei und versuchen Sie es erneut." }, "importNothingError": { "message": "Es wurde nichts importiert." }, "selectFormat": { - "message": "Wählen sie das Format ihrer import Datei" + "message": "Wählen Sie das Format Ihrer Import-Datei" }, "selectImportFile": { - "message": "Wählen Sie die Import-Datei:" + "message": "Wählen Sie die Import-Datei" }, "orCopyPasteFileContents": { - "message": "oder fügen sie den Inhalt ihrer Datei hier ein" + "message": "oder fügen Sie den Inhalt Ihrer Datei hier ein" }, "instructionsFor": { - "message": "$NAME$ Anleitung (en)", + "message": "$NAME$ Anleitungen", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -938,7 +938,7 @@ "message": "Optionen" }, "optionsDesc": { - "message": "Passen Sie den Web Tresor ihren Bedürfnissen an" + "message": "Passen Sie den Web-Tresor Ihren Bedürfnissen an." }, "optionsUpdated": { "message": "Optionen aktualisiert" @@ -950,10 +950,17 @@ "message": "Ändern Sie die Sprache für den Web-Tresor." }, "disableIcons": { - "message": "Webseiten Icons deaktivieren" + "message": "Webseiten-Icons deaktivieren" }, "disableIconsDesc": { - "message": "Website-Symbole zeigen ein erkennbares Bild neben jedem Eintrag in Ihrem Tresor." + "message": "Webseiten-Icons zeigen ein erkennbares Bild neben jedem Eintrag in Ihrem Tresor." + }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." }, "default": { "message": "Standard" @@ -962,13 +969,13 @@ "message": "Domänenregeln" }, "domainRulesDesc": { - "message": "Wenn Sie die gleiche Anmeldung über mehrere verschiedene Website-Domains hinweg haben, können Sie die Website als \"gleichwertig\" markieren. \"Globale\" Domains sind bereits von Bitwarden für Sie angelegt." + "message": "Wenn Sie die gleiche Anmeldung über mehrere verschiedene Webseitendomänen hinweg haben, können Sie die Webseite als \"gleichwertig\" markieren. \"Globale\" Domänen wurden bereits von Bitwarden für Sie angelegt." }, "globalEqDomains": { - "message": "globale gleichwertige Domains" + "message": "Globale gleichwertige Domänen" }, "customEqDomains": { - "message": "benutzerdefinierte gleichwertige Domains" + "message": "Benutzerdefinierte gleichwertige Domänen" }, "exclude": { "message": "Ausschließen" @@ -980,13 +987,13 @@ "message": "Anpassen" }, "newCustomDomain": { - "message": "neue benutzerdefinierte Domain" + "message": "Neue benutzerdefinierte Domäne" }, "newCustomDomainDesc": { - "message": "Geben Sie eine Liste der Domains ein, durch Kommas getrennt. Nur \"Basis\" Domains sind erlaubt. Geben Sie keine Sub-Domains an. Geben Sie beispielsweise \"google.de\" anstelle von \"www.google.de\". Sie können auch \"androidapp:\/\/package.name\" eingeben, um Website-Domains einer android-app zuzuordnen." + "message": "Geben Sie eine Liste der Domänen ein, mit Komma getrennt. Nur \"Basis\"-Domänen sind erlaubt. Geben Sie keine Sub-Domänen an. Geben Sie beispielsweise \"google.de\" anstelle von \"www.google.de\". Sie können auch \"androidapp:\/\/package.name\" eingeben, um Webseiten-Domänen einer Android-App zuzuordnen." }, "customDomainX": { - "message": "$INDEX$ benutzerdefinierte Domain(s)", + "message": "$INDEX$ benutzerdefinierte Domänen", "placeholders": { "index": { "content": "$1", @@ -995,19 +1002,19 @@ } }, "domainsUpdated": { - "message": "Domain aktualisiert" + "message": "Domänen aktualisiert" }, "twoStepLogin": { - "message": "Zwei-Faktor Authentifizierung" + "message": "Zwei-Faktor-Authentifizierung" }, "twoStepLoginDesc": { - "message": "Sichern sie ihr Konto mit 2 Faktor Authentifizierung" + "message": "Sichern Sie Ihr Konto mit Zwei-Faktor-Authentifizierung." }, "twoStepLoginOrganizationDesc": { - "message": "Zweistufige Anmeldung für die Benutzer Ihrer Organisation verlangen, indem Sie Anbieter auf Organisationsebene konfigurieren." + "message": "Zwei-Faktor-Anmeldung für die Benutzer Ihrer Organisation verlangen, indem Sie Anbieter auf Organisationsebene konfigurieren." }, "twoStepLoginRecoveryWarning": { - "message": "Durch die Aktivierung der zweistufigen Anmeldung können Sie Ihr Bitwarden-Konto dauerhaft sperren. Ein Wiederherstellungscode ermöglicht es Ihnen, auf Ihr Konto zuzugreifen, falls Sie Ihren normalen zweistufigen Login-Provider nicht mehr verwenden können (z. B. wenn Sie Ihr Gerät verlieren). Der Bitwarden-Support kann Ihnen nicht helfen, wenn Sie den Zugang zu Ihrem Konto verlieren. Wir empfehlen Ihnen, den Wiederherstellungscode aufzuschreiben oder auszudrucken und an einem sicheren Ort aufzubewahren." + "message": "Durch die Aktivierung der Zwei-Faktor-Anmeldung können Sie sich aus Ihrem Bitwarden-Konto dauerhaft aussperren. Ein Wiederherstellungscode ermöglicht es Ihnen, auf Ihr Konto zuzugreifen, falls Sie Ihren normalen Zwei-Faktor-Anbieter nicht mehr verwenden können (z. B. wenn Sie Ihr Gerät verlieren). Der Bitwarden-Support kann Ihnen nicht helfen, wenn Sie den Zugang zu Ihrem Konto verlieren. Wir empfehlen Ihnen, den Wiederherstellungscode aufzuschreiben oder auszudrucken und an einem sicheren Ort aufzubewahren." }, "viewRecoveryCode": { "message": "Wiederherstellungscode anzeigen" @@ -1030,7 +1037,7 @@ "message": "Premium-Mitgliedschaft" }, "premiumRequired": { - "message": "Premium Mitgliedschaft wird benötigt" + "message": "Premium-Mitgliedschaft wird benötigt" }, "premiumRequiredDesc": { "message": "Für diese Funktion ist eine Premium-Mitgliedschaft notwendig." @@ -1042,19 +1049,19 @@ "message": "Deaktivieren" }, "twoStepLoginProviderEnabled": { - "message": "Dieser 2 Faktor Authentifizierungsanbieter ist für Ihr Konto aktiviert." + "message": "Dieser Zwei-Faktor-Authentifizierungsanbieter ist für Ihr Konto aktiviert." }, "twoStepLoginAuthDesc": { - "message": "Geben Sie Ihr Master-Passwort ein, um die zweistufigen Anmeldeeinstellungen zu ändern." + "message": "Geben Sie Ihr Master-Passwort ein, um die Zwei-Faktor-Anmeldeeinstellungen zu ändern." }, "twoStepAuthenticatorDesc": { - "message": "Führen Sie diese Schritte aus, um eine zweistufige Anmeldung mit einer Authentifizierungsanwendung einzurichten:" + "message": "Führen Sie diese Schritte aus, um eine Zwei-Faktor-Anmeldung mit einer Authentifizierungs-App einzurichten:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Laden sie sich eine 2 Faktor Authentifizierungsapp herunter" + "message": "Laden Sie sich eine Zwei-Faktor-Authentifizierungs-App herunter" }, "twoStepAuthenticatorNeedApp": { - "message": "Brauchen Sie eine 2 Faktor Authenticator app? Laden Sie eine der folgenden Apps herunter" + "message": "Brauchen Sie eine Zwei-Faktor-Authentifizierungs-App? Laden Sie eine der folgenden Apps herunter" }, "iosDevices": { "message": "iOS-Gerät" @@ -1066,25 +1073,25 @@ "message": "Windows-Gerät" }, "twoStepAuthenticatorAppsRecommended": { - "message": "Diese apps sind Empfehlungen, anderen Authentifikator apps funktionieren allerdings auch." + "message": "Diese Apps sind Empfehlungen. Andere Authentifizierungs-Apps funktionieren allerdings auch." }, "twoStepAuthenticatorScanCode": { - "message": "Scannen Sie diesen QR-Code mit Ihrer Authenticator app" + "message": "Scannen Sie diesen QR-Code mit Ihrer Authentifizierungs-App" }, "key": { "message": "Schlüssel" }, "twoStepAuthenticatorEnterCode": { - "message": "Geben Sie den 6-stelligen Bestätigungs-Code aus der app ein" + "message": "Geben Sie den 6-stelligen Bestätigungs-Code aus der App ein" }, "twoStepAuthenticatorReaddDesc": { - "message": "Falls Sie es zu einem anderen Gerät hinzufügen müssen, finden Sie unten den QR-Code (oder Schlüssel), der von Ihrer Authenticator-App benötigt wird." + "message": "Falls Sie es zu einem anderen Gerät hinzufügen müssen, finden Sie unten den QR-Code (oder Schlüssel), der von Ihrer Authentifizierungs-App benötigt wird." }, "twoStepDisableDesc": { - "message": "Sind Sie sicher, dass Sie diesen 2 Faktor Authentifizierungsanbieter deaktivieren möchten?" + "message": "Sind Sie sicher, dass Sie diesen Zwei-Faktor-Authentifizierungsanbieter deaktivieren möchten?" }, "twoStepDisabled": { - "message": "Zweistufiger Login-Provider deaktiviert." + "message": "Zwei-Faktor-Authentifizierungsanbieter deaktiviert." }, "twoFactorYubikeyAdd": { "message": "Einen neuen YubiKey zu Ihrem Konto hinzufügen" @@ -1093,22 +1100,22 @@ "message": "Stecken Sie den YubiKey (NEO oder 4er Serie) in den USB-Anschluss Ihres Computers." }, "twoFactorYubikeySelectKey": { - "message": "Wählen Sie im ersten leeren YubiKey-Eingabefeld unten." + "message": "Wählen Sie untenstehend das erste YubiKey-Eingabefeld." }, "twoFactorYubikeyTouchButton": { - "message": "Drücken Sie die Taste des YubiKey." + "message": "Drücken Sie die Taste des YubiKeys." }, "twoFactorYubikeySaveForm": { "message": "Speichern des Formulars" }, "twoFactorYubikeyWarning": { - "message": "Aufgrund von Plattformbeschränkungen können YubiKeys nicht auf allen Bitwarden-Anwendungen verwendet werden. Sie sollten einen anderen zweistufigen Login-Provider aktivieren, damit Sie auf Ihr Konto zugreifen können, wenn YubiKeys nicht verwendet werden kann. Unterstützte Plattformen:" + "message": "Aufgrund von Plattformbeschränkungen können YubiKeys nicht in allen Bitwarden-Anwendungen verwendet werden. Sie sollten einen anderen Zwei-Faktor-Authentifizierungsanbieter aktivieren, damit Sie auf Ihr Konto zugreifen können, wenn YubiKeys nicht verwendet werden können. Unterstützte Plattformen:" }, "twoFactorYubikeySupportUsb": { - "message": "Web-Tresor, Desktop-Anwendung, CLI und alle Browser-Erweiterungen auf einem Gerät mit USB-Anschluss, das Ihren YubiKey akzeptieren kann." + "message": "Web-Tresor, Desktop-Anwendung, CLI und alle Browser-Erweiterungen auf einem Gerät mit USB-Anschluss, das Ihren YubiKey erkennen kann." }, "twoFactorYubikeySupportMobile": { - "message": "Mobile Apps auf einem NFC-fähigen Gerät oder einem USB-Port, der Ihren YubiKey aufnehmen kann." + "message": "Mobile Apps auf einem NFC-fähigen Gerät oder einem USB-Port, der Ihren YubiKey erkennen kann." }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1126,7 +1133,7 @@ "message": "Einer meiner Schlüssel unterstützt NFC." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "Wenn einer deiner YubiKeys NFC unterstützt (z. B. ein YubiKey NEO), wirst du auf mobilen Geräten gefragt, wann immer NFC verfügbar ist." + "message": "Wenn eines Ihrer YubiKeys NFC (z. B. ein YubiKey NEO) unterstützt, werden Sie auf mobilen Geräten dazu aufgefordert, wenn NFC Verfügbarkeit erkannt wird." }, "yubikeysUpdated": { "message": "YubiKeys aktualisiert" @@ -1147,13 +1154,13 @@ "message": "API-Hostname" }, "twoFactorEmailDesc": { - "message": "Folgen Sie diesen Schritten, um eine zweistufige Anmeldung per E-Mail einzurichten:" + "message": "Folgen Sie diesen Schritten, um eine Zwei-Faktor-Anmeldung per E-Mail einzurichten:" }, "twoFactorEmailEnterEmail": { "message": "Geben Sie die E-Mail ein, unter der Sie Verifizierungscodes erhalten möchten" }, "twoFactorEmailEnterCode": { - "message": "Geben Sie den 6-stelligen Bestätigungs-Code aus der e-Mail ein" + "message": "Geben Sie den 6-stelligen Bestätigungs-Code aus der E-Mail ein" }, "sendEmail": { "message": "E-Mail senden" @@ -1165,28 +1172,28 @@ "message": "Stecken Sie den Sicherheitsschlüssel in USB-Port Ihres Computers." }, "twoFactorU2fTouchButton": { - "message": "Wenn der Sicherheitsschlüssel eine Taste hat, drücken Sie sie." + "message": "Wenn der Sicherheitsschlüssel eine Taste hat, drücken Sie die." }, "twoFactorU2fWarning": { - "message": "Aufgrund von Plattformbeschränkungen können FIDO U2F nicht mit allen Bitwarden-Anwendungen verwendet werden. Sie sollten einen anderen zweistufigen Login-Provider aktivieren, damit Sie auf Ihr Konto zugreifen können, wenn FIDO U2F nicht verwendet werden kann. Unterstützte Plattformen sind:" + "message": "Aufgrund von Plattformbeschränkungen kann FIDO U2F nicht mit allen Bitwarden-Anwendungen verwendet werden. Sie sollten einen anderen Zwei-Faktor-Authentifizierungsanbieter aktivieren, damit Sie auf Ihr Konto zugreifen können, wenn FIDO U2F nicht verwendet werden kann. Unterstützte Plattformen sind:" }, "twoFactorU2fSupportWeb": { - "message": "Web Tresor und Browser-Erweiterungen auf einem Desktop\/Laptop mit einem U2F fähigen Browser (Chrome, Opera, Vivaldi oder Firefox mit FIDO U2F aktiviert)." + "message": "Web-Tresor und Browser-Erweiterungen auf einem Desktop\/Laptop mit einem U2F fähigen Browser (Chrome, Opera, Vivaldi oder Firefox mit FIDO U2F aktiviert)." }, "twoFactorU2fWaiting": { "message": "Es wird darauf gewartet, dass Sie die Taste Ihres Sicherheitsschlüssels betätigen" }, "twoFactorU2fClickEnable": { - "message": "Klicken Sie unten auf \"Aktivieren\", um diesen Sicherheitsschlüssel für den zweistufigen Login zu verwenden." + "message": "Klicken Sie unten auf \"Aktivieren\", um diesen Sicherheitsschlüssel für die Zwei-Faktor-Anmeldung zu verwenden." }, "twoFactorU2fProblemReading": { "message": "Es gab ein Problem beim Lesen des Sicherheitsschlüssels." }, "twoFactorRecoveryYourCode": { - "message": "Ihr Wiederherstellungsschlüssel für den Bitwarden zweistufigen Login" + "message": "Ihr Wiederherstellungsschlüssel für die Zwei-Faktor-Anmeldung in Bitwarden" }, "twoFactorRecoveryNoCode": { - "message": "Sie haben noch keine Variante der zweistufigen Anmeldung aktiviert. Nachdem Sie eine zweistufige Anmeldung aktiviert haben, finden Sie hier Ihren Wiederherstellungs-Code." + "message": "Sie haben noch keine Variante der Zwei-Faktor-Anmeldung aktiviert. Nachdem Sie eine Zwei-Faktor-Anmeldung aktiviert haben, finden Sie hier Ihren Wiederherstellungs-Code." }, "printCode": { "message": "Code drucken", @@ -1196,19 +1203,19 @@ "message": "Berichte" }, "dataBreachReport": { - "message": "Data Breach Bericht" + "message": "Datendiebstahl-Bericht" }, "breachDesc": { "message": "Ein Datendiebstahl ist ein Vorfall, bei dem sich Hacker illegal Zugriff auf Daten von einer Website verschafft haben und diese im Anschluss veröffentlicht wurden. Prüfen Sie die Art der Daten, welche kompromittiert wurden (E-Mail-Adressen, Kennwörter, Kreditkarteninformationen) und leiten Sie entsprechende Handlungen ein, wie z.B. das Ändern von Kennwörtern." }, "breachCheckUsernameEmail": { - "message": "Prüfen Sie alle Benutzernamen und E-Mail-Adressen, welche Sie verwenden." + "message": "Prüfen Sie alle Benutzernamen und E-Mail-Adressen, die Sie verwenden." }, "checkBreaches": { "message": "Datendiebstähle prüfen" }, "breachUsernameNotFound": { - "message": "$USERNAME$ wurde in keiner der bekannten Datenbanken gefunden.", + "message": "$USERNAME$ wurde in keinem der bekannten Datendiebstahlvorfällen gefunden.", "placeholders": { "username": { "content": "$1", @@ -1221,7 +1228,7 @@ "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { - "message": "$USERNAME$ wurde in $COUNT$ Onlinedatenbank(en) gefunden.", + "message": "$USERNAME$ wurde in $COUNT$ Datendiebstahlvorfällen gefunden.", "placeholders": { "username": { "content": "$1", @@ -1237,7 +1244,7 @@ "message": "Betroffene Konten wurden gefunden" }, "compromisedData": { - "message": "kompromitierte Daten" + "message": "Kompromittierte Daten" }, "website": { "message": "Webseite" @@ -1255,17 +1262,17 @@ "message": "Ein Fehler ist aufgetreten, während der Bericht geladen wurde. Versuchen Sie es erneut" }, "billingAndLicensing": { - "message": "Abrechnung & Lizensierung" + "message": "Abrechnung & Lizenzierung" }, "goPremium": { "message": "Zu Premium wechseln", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "Sie haben ein Premium Abo aktiviert" + "message": "Sie haben ein Premium-Abo aktiviert." }, "premiumUpgradeUnlockFeatures": { - "message": "Machen Sie ein Upgrade ihres Kontos auf eine Premium-Mitgliedschaft, um zusätzliche großartige Funktionen freizuschalten." + "message": "Machen Sie ein Upgrade Ihres Kontos auf eine Premium-Mitgliedschaft, um zusätzliche, großartige Funktionen freizuschalten." }, "premiumSignUpStorage": { "message": "1 GB verschlüsselter Speicherplatz." @@ -1295,13 +1302,13 @@ "message": "Erweiterungen" }, "additionalStorageGb": { - "message": "Zusätzlicher Speicher:" + "message": "Zusätzlicher Speicher (GB)" }, "additionalStorageGbDesc": { "message": "# zusätzliche GB" }, "additionalStorageDesc": { - "message": "Dein Plan beinhaltet einen $SIZE$ großen verschlüsselten Datenspeicher. Sie können zusätzlichen Speicher für $PRICE$ pro GB \/ Jahr dazubuchen.", + "message": "Ihr Abo beinhaltet einen $SIZE$ großen verschlüsselten Datenspeicher. Sie können zusätzlichen Speicher für $PRICE$ pro GB \/ Jahr dazubuchen.", "placeholders": { "size": { "content": "$1", @@ -1330,10 +1337,10 @@ "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { - "message": "Deine Zahlungsmethode wird sofort und jährlich wiederkehrend belastet. Sie können jederzeit kündigen." + "message": "Ihre Zahlungsmethode wird sofort und jährlich wiederkehrend belastet. Sie können jederzeit kündigen." }, "paymentChargedWithTrial": { - "message": "Dein Abo beinhaltet eine kostenlose 7-Tage-Testversion. Deine Karte wird nicht belastet, bis die Testversion beendet ist und auf einer wiederkehrenden Basis jeden\/jedes $INTERVAL$. Du kannst jederzeit kündigen.", + "message": "Ihr Abo beinhaltet eine kostenlose 7-Tage-Testversion. Ihre Karte wird nicht belastet, bis die Testversion beendet ist und auf einer wiederkehrenden Basis jeden\/jedes $INTERVAL$. Sie können jederzeit kündigen.", "placeholders": { "interval": { "content": "$1", @@ -1348,10 +1355,10 @@ "message": "Kreditkarte" }, "paypalClickSubmit": { - "message": "Klicke auf die Schaltfläche PayPal, um dich bei deinem PayPal-Konto anzumelden und anschließend auf die Schaltfläche Senden, um fortzufahren." + "message": "Klicken Sie auf die Schaltfläche PayPal, um sich bei Ihrem PayPal-Konto anzumelden und anschließend auf die Schaltfläche Senden, um fortzufahren." }, "cancelSubscription": { - "message": "Abonnement kündigen" + "message": "Abo kündigen" }, "subscriptionCanceled": { "message": "Ihr Abo wurde gekündigt." @@ -1360,25 +1367,25 @@ "message": "Ausstehende Kündigung" }, "subscriptionPendingCanceled": { - "message": "Das Abonnement wurde zum Ende des aktuellen Abrechnungszeitraums zur Kündigung vorgemerkt." + "message": "Das Abo wurde zum Ende des aktuellen Abrechnungszeitraums zur Kündigung vorgemerkt." }, "reinstateSubscription": { - "message": "Abonnement wiederherstellen" + "message": "Abo wiederherstellen" }, "reinstateConfirmation": { - "message": "Bist du sicher, dass du den ausstehenden Kündigungsantrag löschen und dein Abonnement wieder aufnehmen möchtest?" + "message": "Sind Sie sicher, dass Sie den ausstehenden Kündigungsantrag löschen und das Abo wieder aufnehmen möchten?" }, "reinstated": { - "message": "Das Abonnement wurde wieder aufgenommen." + "message": "Das Abo wurde wieder aufgenommen." }, "cancelConfirmation": { - "message": "Bist du sicher, dass du kündigen willst? Am Ende dieses Abrechnungszyklus verlierst du den Zugriff auf alle Funktionen dieses Abonnements." + "message": "Sind Sie sicher, dass Sie kündigen wollen? Am Ende dieses Abrechnungszyklus verlieren Sie den Zugriff auf alle Funktionen dieses Abos." }, "canceledSubscription": { - "message": "Dein Abo wurde gekündigt." + "message": "Ihr Abo wurde gekündigt." }, "neverExpires": { - "message": "Läuft nie ab." + "message": "Läuft nie ab" }, "status": { "message": "Status" @@ -1396,7 +1403,7 @@ "message": "Lizenz aktualisieren" }, "updatedLicense": { - "message": "aktualisierte Lizenz" + "message": "Aktualisierte Lizenz" }, "manageSubscription": { "message": "Abo verwalten" @@ -1411,7 +1418,7 @@ "message": "Speicher entfernen" }, "subscriptionStorage": { - "message": "Dein Abonnement hat insgesamt $MAX_STORAGE$ GB verschlüsselten Speicherplatz. Du benutzt derzeit $USED_STORAGE$.", + "message": "Ihr Abo hat insgesamt $MAX_STORAGE$ GB verschlüsselten Speicherplatz. Sie benutzen derzeit $USED_STORAGE$.", "placeholders": { "max_storage": { "content": "$1", @@ -1443,7 +1450,7 @@ "message": "Keine Gebühren." }, "chargesStatement": { - "message": "Alle Gebühren werden auf deinem Kontoauszug als $STATEMENT_NAME$ angezeigt.", + "message": "Alle Gebühren werden auf Ihrem Kontoauszug als $STATEMENT_NAME$ angezeigt.", "placeholders": { "statement_name": { "content": "$1", @@ -1452,19 +1459,19 @@ } }, "gbStorageAdd": { - "message": "GB Speicherplatz zum Hinzufügen" + "message": "GB Speicherplatz hinzufügen" }, "gbStorageRemove": { - "message": "GB Speicherplatz zu Entfernen" + "message": "GB Speicherplatz entfernen" }, "storageAddNote": { - "message": "Das Hinzufügen von Speicherplatz führt zu einer Anpassung deiner Rechnungssummen und belastet deine Zahlungsmethode sofort. Die erste Gebühr wird für den Rest des aktuellen Abrechnungszyklus anteilig berechnet." + "message": "Das Hinzufügen von Speicherplatz führt zu einer Anpassung Ihrer Rechnungssummen und belastet Ihre Zahlungsmethode sofort. Die erste Gebühr wird für den Rest des aktuellen Abrechnungszyklus anteilig berechnet." }, "storageRemoveNote": { - "message": "Das Entfernen des Speichers führt zu einer Anpassung deiner Rechnungssumme, die als Gutschrift auf deine nächste Rechnungssumme angerechnet wird." + "message": "Das Entfernen des Speichers führt zu einer Anpassung Ihrer Rechnungssumme, die als Gutschrift auf Ihre nächste Rechnungssumme angerechnet wird." }, "adjustedStorage": { - "message": "Angepasste $AMOUNT$ GB Speicherplatz.", + "message": "$AMOUNT$ GB Speicherplatz angepasst.", "placeholders": { "amount": { "content": "$1", @@ -1476,7 +1483,7 @@ "message": "Kundenservice kontaktieren" }, "contactSupportPaymentMethod": { - "message": "Wenn du von dieser Zahlungsmethode wechseln möchtest, wende dich bitte an den Kundendienst." + "message": "Wenn Sie diese Zahlungsmethode wechseln möchten, wenden Sie sich bitte an den Kundendienst." }, "updatedPaymentMethod": { "message": "Zahlungsart aktualisiert." @@ -1488,7 +1495,7 @@ "message": "Lizenzdatei" }, "licenseFileDesc": { - "message": "Deine Lizenzdatei wird so ähnlich wie $FILE_NAME$ heißen", + "message": "Ihre Lizenzdatei wird so ähnlich wie $FILE_NAME$ heißen", "placeholders": { "file_name": { "content": "$1", @@ -1497,16 +1504,16 @@ } }, "uploadLicenseFilePremium": { - "message": "Um dein Konto zu einer Premium-Mitgliedschaft hochzustufen, musst du eine gültige Lizenzdatei hochladen." + "message": "Um Ihr Konto zu einer Premium-Mitgliedschaft hoch zu stufen, müssen Sie eine gültige Lizenzdatei hochladen." }, "uploadLicenseFileOrg": { - "message": "Um eine vor Ort gehostete Organisation zu erstellen, musst du eine gültige Lizenzdatei hochladen." + "message": "Um eine vor Ort gehostete Organisation zu erstellen, müssen Sie eine gültige Lizenzdatei hochladen." }, "accountEmailMustBeVerified": { - "message": "Die E-Mail-Adresse deines Kontos muss bestätigt werden." + "message": "Die E-Mail-Adresse Ihres Kontos muss bestätigt werden." }, "newOrganizationDesc": { - "message": "Organisationen ermöglichen es dir, Teile deines Tresors mit anderen zu teilen und verwandte Benutzer für eine bestimmte Gruppe wie eine Familie, ein kleines Team oder ein großes Unternehmen zu verwalten." + "message": "Organisationen ermöglichen es Ihnen, Teile Ihres Tresors mit anderen zu teilen und verwandte Benutzer für eine bestimmte Gruppe wie eine Familie, ein kleines Team oder ein großes Unternehmen zu verwalten." }, "generalInformation": { "message": "Allgemeine Informationen" @@ -1518,13 +1525,13 @@ "message": "Dieses Konto gehört einem Unternehmen." }, "billingEmail": { - "message": "E-Mail (Rechnungsanschrift)" + "message": "E-Mail für Rechnung" }, "businessName": { "message": "Firmenname" }, "chooseYourPlan": { - "message": "Wähle dein Abo" + "message": "Wählen Sie Ihr Abo" }, "users": { "message": "Benutzer" @@ -1539,7 +1546,7 @@ "message": "Anzahl der Benutzerplätze" }, "userSeatsAdditionalDesc": { - "message": "Ihr Abonnement beinhaltet $BASE_SEATS$ Benutzerplätze. Sie können weitere Benutzer für $SEAT_PRICE$ pro Benutzer\/Monat hinzufügen.", + "message": "Ihr Abo beinhaltet $BASE_SEATS$ Benutzerplätze. Sie können weitere Benutzer für $SEAT_PRICE$ pro Benutzer\/Monat hinzufügen.", "placeholders": { "base_seats": { "content": "$1", @@ -1576,7 +1583,7 @@ "message": "Teams" }, "planDescTeams": { - "message": "Für Unternehmen und andere Teamorganisationen." + "message": "Für Unternehmen und andere Teams." }, "planNameEnterprise": { "message": "Unternehmen" @@ -1585,7 +1592,7 @@ "message": "Für Unternehmen und andere große Organisationen." }, "freeForever": { - "message": "Dauerhaft kostenlos" + "message": "Für immer kostenlos" }, "includesXUsers": { "message": "beinhaltet $COUNT$ Benutzer", @@ -1609,7 +1616,7 @@ } }, "limitedUsers": { - "message": "Limitiert auf $COUNT$ Benutzer (inklusive Sie)", + "message": "Limitiert auf $COUNT$ Benutzer (Sie eingeschlossen)", "placeholders": { "count": { "content": "$1", @@ -1627,7 +1634,7 @@ } }, "addShareLimitedUsers": { - "message": "Hinzufügen und teilen mit bis zu $COUNT$ Benutzern", + "message": "Hinzufügen und Teilen mit bis zu $COUNT$ Benutzern", "placeholders": { "count": { "content": "$1", @@ -1636,7 +1643,7 @@ } }, "addShareUnlimitedUsers": { - "message": "Hinzufügen und teilen mit einer unbegrenzten Anzahl von Benutzern" + "message": "Hinzufügen und Teilen mit einer unbegrenzten Anzahl von Benutzern" }, "createUnlimitedCollections": { "message": "Erstellen von unbegrenzten Sammlungen" @@ -1663,7 +1670,7 @@ "message": "Nachverfolgung von Benutzeraktivitäten mittels Auditprotokollen" }, "enforce2faDuo": { - "message": "2FA mit Duo erzwingen" + "message": "Zwei-Faktor mit Duo erzwingen" }, "priorityCustomerSupport": { "message": "Vorrangiger Kundenservice" @@ -1747,7 +1754,7 @@ "message": "Zugangskontrolle" }, "groupAccessAllItems": { - "message": "Diese Gruppe kann auf alle Elemente zugreifen und diese ändern." + "message": "Diese Gruppe kann auf alle Einträge zugreifen und diese ändern." }, "groupAccessSelectedCollections": { "message": "Diese Gruppe kann nur auf die ausgewählten Sammlungen zugreifen." @@ -1774,7 +1781,7 @@ "message": "Benutzer einladen" }, "inviteUserDesc": { - "message": "Laden Sie einen neuen Benutzer zur Ihrer Organisation ein, indem Sie deren Bitwarden-Account-Email eintragen. Falls dieser noch keinen Bitwarden-Account besitzt, wird er zur Erstellung eines neuen Accounts aufgefordert." + "message": "Laden Sie einen neuen Benutzer zu Ihrer Organisation ein, indem Sie deren Bitwarden-Konto-Email eintragen. Falls dieser noch kein Bitwarden-Konto besitzt, wird er\/sie zur Erstellung eines neuen Kontos aufgefordert." }, "inviteMultipleEmailDesc": { "message": "Sie können bis zu $COUNT$ Benutzer auf einmal einladen, indem Sie eine Liste von E-Mail-Adressen mit je einem Komma trennen.", @@ -1786,7 +1793,7 @@ } }, "userAccessAllItems": { - "message": "Der Benutzer kann alle Elemente einsehen und verändern." + "message": "Der Benutzer kann alle Einträge einsehen und verändern." }, "userAccessSelectedCollections": { "message": "Der Benutzer kann nur auf ausgewählte Sammlungen zugreifen." @@ -1807,13 +1814,13 @@ "message": "Besitzer" }, "ownerDesc": { - "message": "Der Benutzer mit dem höchsten Berechtigungslevel, der alle Aspekte Ihres Unternehmens verwalten kann." + "message": "Der Benutzer mit dem höchsten Berechtigungslevel, der alle Aspekte Ihrer Organisation verwalten kann." }, "admin": { "message": "Administrator" }, "adminDesc": { - "message": " Administratoren können auf alle Elemente, Sammlungen und Benutzer in Ihrer Organisation zugreifen und diese verwalten." + "message": " Administratoren können auf alle Einträge, Sammlungen und Benutzer in Ihrer Organisation zugreifen und diese verwalten." }, "user": { "message": "Benutzer" @@ -1855,25 +1862,25 @@ "message": "Web-Tresor" }, "loggedIn": { - "message": "Eingeloggt:" + "message": "Eingeloggt." }, "changedPassword": { "message": "Benutzerpasswort geändert." }, "enabled2fa": { - "message": "Zweistufige Anmeldung aktiviert." + "message": "Zwei-Faktor-Anmeldung aktiviert." }, "disabled2fa": { - "message": "Zweistufige Anmeldung deaktiviert." + "message": "Zwei-Faktor-Anmeldung deaktiviert." }, "recovered2fa": { - "message": "Konto aus dem zweistufigen Login wiederhergestellt." + "message": "Konto aus der Zwei-Faktor-Anmeldung wiederhergestellt." }, "failedLogin": { - "message": "Login-Versuch mit falschem Passwort fehlgeschlagen." + "message": "Anmeldeversuch mit falschem Passwort fehlgeschlagen." }, "failedLogin2fa": { - "message": "Login-Versuch mit falscher zweistufiger Anmeldung fehlgeschlagen." + "message": "Anmeldeversuch mit falscher Zwei-Faktor-Anmeldung fehlgeschlagen." }, "editedOrgSettings": { "message": "Organisationseinstellungen bearbeitet." @@ -2065,7 +2072,7 @@ "message": "Die Gruppen bearbeiten, zu denen dieser Benutzer gehört." }, "invitedUsers": { - "message": "Benutzer(n) eingeladen." + "message": "Benutzer eingeladen." }, "resendInvitation": { "message": "Einladung erneut senden" @@ -2092,7 +2099,7 @@ } }, "startDate": { - "message": "Anfangsdatum:" + "message": "Anfangsdatum" }, "endDate": { "message": "Endatum" @@ -2101,10 +2108,10 @@ "message": "E-Mail-Adresse bestätigen" }, "verifyEmailDesc": { - "message": "Bestätige die E-Mail-Adresse deines Kontos, um den Zugriff auf alle Funktionen freizuschalten." + "message": "Bestätigen Sie die E-Mail-Adresse Ihres Kontos, um den Zugriff auf alle Funktionen freizuschalten." }, "verifyEmailFirst": { - "message": "Die E-Mail-Adresse deines Kontos muss zuerst bestätigt werden." + "message": "Die E-Mail-Adresse Ihres Kontos muss zuerst bestätigt werden." }, "checkInboxForVerification": { "message": "Sehen Sie in Ihrem E-Mail-Posteingang nach, ob Sie Ihren Bestätigungscode erhalten haben" @@ -2113,19 +2120,19 @@ "message": "Ihre E-Mail-Adresse wurde verifiziert" }, "emailVerifiedFailed": { - "message": "Ihre E-Mail kann nicht verifiziert werden. Versuche eine neue Bestätigungs-E-Mail zu senden." + "message": "Ihre E-Mail kann nicht verifiziert werden. Versuchen Sie eine neue Bestätigungs-E-Mail zu senden." }, "updateBrowser": { "message": "Browser aktualisieren" }, "updateBrowserDesc": { - "message": "Du benutzt einen nicht unterstützten Webbrowser. Der Web-Tresor funktioniert möglicherweise nicht richtig." + "message": "Sie benutzen einen nicht unterstützten Webbrowser. Der Web-Tresor funktioniert möglicherweise nicht richtig." }, "joinOrganization": { "message": "Organisation beitreten" }, "joinOrganizationDesc": { - "message": "Sie wurden eingeladen, oben genannter Organisation beizutreten. Um die Einladung anzunehmen, müssen Sie einen Bitwarden-Account erstellen, oder sich mit Ihrem bestehenden Bitwarden-Account anmelden." + "message": "Sie wurden eingeladen, oben genannter Organisation beizutreten. Um die Einladung anzunehmen, müssen Sie ein Bitwarden-Konto erstellen, oder sich mit Ihrem bestehenden Bitwarden-Konto anmelden." }, "inviteAccepted": { "message": "Einladung angenommen" @@ -2134,16 +2141,16 @@ "message": "Sie können der Organisation beitreten, sobald ein Administrator Ihre Mitgliedschaft bestätigt hat. Wir werden Sie dann per E-Mail benachrichtigen." }, "inviteAcceptFailed": { - "message": "Einladung konnte nicht akzeptiert werden. Zum Erhalten einer neuen Einladung, setzen Sie sich mit einem Organisationsadmin in Verbindung." + "message": "Einladung konnte nicht akzeptiert werden. Zum Erhalten einer neuen Einladung, setzen Sie sich mit einem Administrator der Organisation in Verbindung." }, "rememberEmail": { - "message": "E-Mail Adresse merken" + "message": "E-Mail-Adresse merken" }, "recoverAccountTwoStepDesc": { - "message": "Falls Sie nicht mit Ihren normalen Zwei-Schritt-Anmeldemethoden auf Ihren Account zugreifen können, nutzen Sie Ihren 2FA-Wiederherstellungscode, um alle 2FA-Anbieter für Ihren Account zu deaktivieren." + "message": "Falls Sie nicht mit Ihren normalen Zwei-Faktor-Anmeldemethoden auf Ihren Account zugreifen können, nutzen Sie Ihren Zwei-Faktor-Wiederherstellungscode, um alle Zwei-Faktor-Anbieter für Ihr Konto zu deaktivieren." }, "recoverAccountTwoStep": { - "message": "Anmeldung in zwei Schritten deaktivieren" + "message": "Zwei-Faktor-Anmeldung deaktivieren" }, "twoStepRecoverDisabled": { "message": "Zwei-Faktor-Authentifizierung wurde für Ihren Account deaktiviert." @@ -2152,13 +2159,13 @@ "message": "Erfahre mehr" }, "deleteRecoverDesc": { - "message": "Geben Sie hier Ihre E-Mail-Adresse ein, um Ihren Account wiederherzustellen und zu löschen." + "message": "Geben Sie hier Ihre E-Mail-Adresse ein, um Ihr Konto wiederherzustellen und zu löschen." }, "deleteRecoverEmailSent": { - "message": "Wir haben Ihnen eine Email mit weiteren Anweisungen gesendet, sofern Ihr Konto existiert." + "message": "Wir haben Ihnen eine E-Mail mit weiteren Anweisungen gesendet, sofern Ihr Konto existiert." }, "deleteRecoverConfirmDesc": { - "message": "Sie haben die Löschung Ihres Bitwarden-Accounts angefragt. Klicken Sie diesen Button, um die Löschung zu bestätigen." + "message": "Sie haben die Löschung Ihres Bitwarden-Kontos angefragt. Klicken Sie diesen Button, um die Löschung zu bestätigen." }, "myOrganization": { "message": "Meine Organisation" @@ -2167,16 +2174,16 @@ "message": "Organisation löschen" }, "deleteOrganizationDesc": { - "message": "Fahre fort, um diese Organisation und alle mit ihr verbundenen Daten zu löschen. Einzelne Benutzerkonten bleiben erhalten, obwohl Sie nicht mehr länger mit dieser Organisation verbunden sind. " + "message": "Fahren Sie fort, um diese Organisation und alle ihre zugehörigen Daten zu löschen. Einzelne Benutzerkonten bleiben erhalten, obwohl sie nicht länger mit dieser Organisation verbunden sind. " }, "deleteOrganizationWarning": { "message": "Das Löschen dieser Organisation ist unwiderruflich." }, "organizationDeleted": { - "message": "Organisation wurde gelöscht." + "message": "Organisation wurde gelöscht" }, "organizationDeletedDesc": { - "message": "Die Organisation und alle mit ihr verbundenen Daten wurden gelöscht." + "message": "Die Organisation und alle ihre zugehörigen Daten wurden gelöscht." }, "organizationUpdated": { "message": "Organisation aktualisiert" @@ -2185,18 +2192,18 @@ "message": "Steuerliche Information" }, "taxInformationDesc": { - "message": "Bitte kontaktieren Sie den Support, um Steuerinformationen für Ihre Rechnungen zu übermitteln (oder zu aktualisieren)." + "message": "Bitte kontaktieren Sie unseren Support um Ihre Steuerinformationen Ihrer Rechnung abzufragen (oder zu aktualisieren)." }, "billingPlan": { - "message": "Abonnement", + "message": "Abo", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Abonnement ändern", + "message": "Abo ändern", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { - "message": "Kontaktieren Sie den Kundensupport, um Ihr Abonnement zu ändern. Bitte stellen Sie sicher, dass Sie eine aktive Zahlungsmethode zu Ihrem Konto hinzugefügt haben.", + "message": "Kontaktieren Sie den Kundensupport, um Ihr Abo zu ändern. Bitte stellen Sie sicher, dass Sie eine aktive Zahlungsmethode zu Ihrem Konto hinzugefügt haben.", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "invoice": { @@ -2212,7 +2219,7 @@ "message": "Zahlungen über ein Bankkonto ist nur für Benutzer in den Vereinigten Staaten verfügbar. Hierfür müssen Sie Ihr Bankkonto verifizieren. Wir werden dann innerhalb der nächsten 1-2 Werktage zwei Mikro-Transaktionen durchführen. Geben Sie im Anschluss diese Daten auf der Organisationsseite ein, um Ihr Bankkonto zu verifizieren." }, "verifyBankAccountFailureWarning": { - "message": "Ein Fehlschlag bei der Verifizierung des Bankkontos wird zu einer versäumten Zahlung führen und Ihr Abonnement wird deaktiviert." + "message": "Ein Fehlschlag bei der Verifizierung des Bankkontos wird zu einer versäumten Zahlung führen und Ihr Abo wird deaktiviert." }, "verifiedBankAccount": { "message": "Ihr Bankkonto wurde verifiziert." @@ -2250,7 +2257,7 @@ "message": "Person" }, "enterInstallationId": { - "message": "Geben Sie Ihre Installations-id ein" + "message": "Geben Sie Ihre Installations-ID ein" }, "addSeats": { "message": "Benutzerplätze hinzufügen", @@ -2261,7 +2268,7 @@ "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Ihr Abonnement erlaubt insgesamt $COUNT$ Benutzer.", + "message": "Ihr Abo erlaubt insgesamt $COUNT$ Benutzer.", "placeholders": { "count": { "content": "$1", @@ -2276,10 +2283,10 @@ "message": "Entfernen von Benutzerplätzen" }, "seatsAddNote": { - "message": "Das Hinzufügen von Benutzerplätzen führt zu einer Anpassung deiner Rechnungssummen und belastet deine Zahlungsmethode sofort. Die erste Gebühr wird für den Rest des aktuellen Abrechnungszyklus anteilig berechnet." + "message": "Das Hinzufügen von Benutzerplätzen führt zu einer Anpassung Ihrer Rechnungssummen und belastet Ihre Zahlungsmethode sofort. Die erste Gebühr wird für den Rest des aktuellen Abrechnungszyklus anteilig berechnet." }, "seatsRemoveNote": { - "message": "Das Entfernen von Benutzerplätzen führt zu einer Anpassung deiner Rechnungssumme, die als Gutschrift auf deine nächste Rechnung angerechnet wird." + "message": "Das Entfernen von Benutzerplätzen führt zu einer Anpassung Ihrer Rechnungssumme, die als Gutschrift auf Ihre nächste Rechnung angerechnet wird." }, "adjustedSeats": { "message": "$AMOUNT$ Benutzerplätze eingestellt.", @@ -2303,13 +2310,13 @@ "message": "Sie verwenden derzeit ein veraltetes Verschlüsselungsschema." }, "updateEncryptionKeyDesc": { - "message": "Wir sind auf größere Verschlüsselungscodes umgestiegen, welche bessere Sicherheit und Zugang zu neuen Features bieten. Das Update Ihres Verschlüsselungscodes ist schnell und einfach. Geben Sie einfach hier Ihr Master-Passwort ein. Das Update wird im Anschluss verpflichtend." + "message": "Wir sind auf größere Verschlüsselungscodes umgestiegen, welche bessere Sicherheit und Zugang zu neuen Features bieten. Das Update Ihres Verschlüsselungscodes ist schnell und einfach. Geben Sie einfach hier Ihr Master-Passwort ein. Das Update wird irgendwann verpflichtend." }, "updateEncryptionKeyWarning": { - "message": "Nach der Aktualisierung Ihres Verschlüsselungscodes, müssen Sie sich bei allen Bitwarden-Anwendungen, welche Sie momentan benutzen (wie z.B. Smartphoneapp, Browsererweiterungen), erneut anmelden. Fehler bei Ab- und Anmeldung (was Ihren neuen Verschlüsselungscode runterlädt) ist auf Datenverfälschung zurückzuführen. Wir werden versuchen Sie automatisch auszuloggen, was jedoch verzögert geschehen kann." + "message": "Nach der Aktualisierung Ihres Verschlüsselungscodes, müssen Sie sich bei allen Bitwarden-Anwendungen, welche Sie momentan benutzen (wie z. B. Smartphone-App, Browser-Erweiterungen), erneut anmelden. Versäumnis der Ab- und Anmeldung (welche Ihren neuen Verschlüsselungscode bezieht) könnte zu Datenkorruption führen. Wir werden versuchen Sie automatisch auszuloggen, was jedoch verzögert geschehen kann." }, "subscription": { - "message": "Abonnement" + "message": "Abo" }, "loading": { "message": "Wird geladen" @@ -2318,16 +2325,16 @@ "message": "Upgrade" }, "upgradeOrganization": { - "message": "Organisation upgraden" + "message": "Organisation hochstufen" }, "upgradeOrganizationDesc": { - "message": "Diese Funktion ist für kostenlose Organisationen nicht verfügbar. Wechseln Sie zu einem kostenpflichtigen Tarif um weitere Funktionen freizuschalten." + "message": "Diese Funktion ist für kostenlose Organisationen nicht verfügbar. Wechseln Sie zu einem kostenpflichtigen Abo um weitere Funktionen freizuschalten." }, "createOrganizationStep1": { "message": "Organisation erstellen: Schritt 1" }, "createOrganizationCreatePersonalAccount": { - "message": "Bevor Sie eine Organisation erstellen können, müssen Sie zuerst ein kostenloses persönliches Konto erstellen." + "message": "Bevor Sie eine Organisation erstellen können, müssen Sie zuerst ein kostenloses, persönliches Konto erstellen." }, "refunded": { "message": "Erstattet" @@ -2343,9 +2350,44 @@ "message": "Allgemeine Geschäftsbedingungen" }, "privacyPolicy": { - "message": "Datenschutzrichtlinie" + "message": "Datenschutzerklärung" }, "filters": { - "message": "Filters" + "message": "Filter" + }, + "lockOptions": { + "message": "Sperroptionen" + }, + "lockOptionsDesc": { + "message": "Wähle was passiert, wenn dein Tresor gesperrt ist. Du musst dein Master-Passwort eingeben um erneut auf den gesperrten Tresor zugreifen zu können." + }, + "oneMinute": { + "message": "1 Minute" + }, + "fiveMinutes": { + "message": "5 Minuten" + }, + "fifteenMinutes": { + "message": "15 Minuten" + }, + "thirtyMinutes": { + "message": "30 Minuten" + }, + "oneHour": { + "message": "1 Stunde" + }, + "fourHours": { + "message": "4 Stunden" + }, + "onRefresh": { + "message": "Bei Browser-Aktualisierung" + }, + "dateUpdated": { + "message": "Aktualisiert", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Passwort aktualisiert", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/en/messages.json b/locales/en/messages.json index bb1a35ec..009b38c3 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -958,6 +958,13 @@ "disableIconsDesc": { "message": "Website Icons provide a recognizable image next to each login item in your vault." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Default" }, @@ -1096,7 +1103,7 @@ "message": "Plug the YubiKey (NEO or 4 series) into your computer's USB port." }, "twoFactorYubikeySelectKey": { - "message": "Select in the first empty YubiKey input field below." + "message": "Select the first empty YubiKey input field below." }, "twoFactorYubikeyTouchButton": { "message": "Touch the YubiKey's button." @@ -1333,10 +1340,10 @@ "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and on a recurring basis each year. You may cancel at any time." + "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." }, "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your card will not be charged until the trial has ended and on a recurring basis each $INTERVAL$. You may cancel at any time.", + "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", "placeholders": { "interval": { "content": "$1", @@ -2377,5 +2384,13 @@ }, "onRefresh": { "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } diff --git a/locales/es/messages.json b/locales/es/messages.json index 3a31a26c..ec1ec889 100644 --- a/locales/es/messages.json +++ b/locales/es/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Los iconos del sitio web añaden una imagen reconocible al lado de cada entrada de tu caja fuerte." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Por defecto" }, @@ -1066,46 +1073,46 @@ "message": "Dispositivos Windows" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "Estas aplicaciones son recomendadas, sin embargo, otras aplicaciones autenticadoras también funcionarán." }, "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" + "message": "Escanea este código QR con tu aplicación de autenticación" }, "key": { "message": "Key" }, "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" + "message": "Introduzca el código de verificación de 6 dígitos generado en la aplicación de autentificación" }, "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." + "message": "En caso de que necesite agregarlo a otro dispositivo, a continuación se indica el código QR (o clave) requerido por su aplicación autenticadora." }, "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" + "message": "¿está seguro de que desea deshabilitar este proveedor de inicio de sesión de dos pasos?" }, "twoStepDisabled": { - "message": "Two-step login provider disabled." + "message": "Proveedor de inicio de sesión de dos pasos deshabilitado." }, "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" + "message": "Añade un nuevo YubiKey a tu cuenta" }, "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey (NEO or 4 series) into your computer's USB port." + "message": "Conecte la YubiKey (NEO o serie 4) al puerto USB de su ordenador." }, "twoFactorYubikeySelectKey": { "message": "Select in the first empty YubiKey input field below." }, "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." + "message": "Toque el botón del YubiKey." }, "twoFactorYubikeySaveForm": { - "message": "Save the form." + "message": "Guarde el formulario." }, "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" + "message": "Debido a las limitaciones de la plataforma, YubiKeys no se puede utilizar en todas las aplicaciones Bitwarden. Debe habilitar otro proveedor de inicio de sesión de dos pasos para que pueda tener acceso a su cuenta cuando no se pueda utilizar YubiKeys. Plataformas soportadas:" }, "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." + "message": "Web Vault, aplicación de escritorio, CLI y todas las extensiones de navegador en un dispositivo con un puerto USB que puede aceptar su YubiKey." }, "twoFactorYubikeySupportMobile": { "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/et/messages.json b/locales/et/messages.json index 2ec24bda..56e02b45 100644 --- a/locales/et/messages.json +++ b/locales/et/messages.json @@ -493,100 +493,100 @@ "message": "Jah" }, "no": { - "message": "No" + "message": "Ei" }, "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." + "message": "Logi oma olemasolevasse kontosse sisse või loo uus konto." }, "createAccount": { - "message": "Create Account" + "message": "Konto loomine" }, "logIn": { - "message": "Log In" + "message": "Logi sisse" }, "submit": { - "message": "Submit" + "message": "Kinnita" }, "emailAddressDesc": { - "message": "You'll use your email address to log in." + "message": "Kasutad sisselogimiseks oma e-posti aadressi." }, "yourName": { - "message": "Your Name" + "message": "Sinu nimi" }, "yourNameDesc": { - "message": "What should we call you?" + "message": "Kuidas me Sind kutsume?" }, "masterPass": { - "message": "Master Password" + "message": "Ülemparool" }, "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." + "message": "Ülemparool on parool, millega pääsed oma kontole ligi. On äärmiselt tähtis, et ülemparool ei ununeks. Selle parooli taastamine ei ole mingil moel võimalik." }, "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." + "message": "Vihje võib abiks olla olukorras, kui oled ülemparooli unustanud." }, "reTypeMasterPass": { - "message": "Re-type Master Password" + "message": "Sisesta ülemparool uuesti" }, "masterPassHint": { - "message": "Master Password Hint (optional)" + "message": "Ülemparooli vihje (ei ole kohutuslik)" }, "masterPassHintLabel": { - "message": "Master Password Hint" + "message": "Ülemparooli vihje" }, "settings": { - "message": "Settings" + "message": "Seaded" }, "passwordHint": { - "message": "Password Hint" + "message": "Parooli vihje" }, "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." + "message": "Ülemparooli vihje saamiseks sisesta oma konto e-posti aadress." }, "getMasterPasswordHint": { - "message": "Get master password hint" + "message": "Tuleta ülemparooli vihjega meelde" }, "emailRequired": { - "message": "Email address is required." + "message": "E-posti aadress on nõutud." }, "invalidEmail": { - "message": "Invalid email address." + "message": "Vigane e-posti aadress." }, "masterPassRequired": { - "message": "Master password is required." + "message": "Vajalik on ülemparooli sisestamine." }, "masterPassLength": { - "message": "Master password must be at least 8 characters long." + "message": "Ülemparool peab olema vähemalt 8 tähemärgi pikkune." }, "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." + "message": "Ülemparoolid ei ühti." }, "newAccountCreated": { - "message": "Your new account has been created! You may now log in." + "message": "Sinu konto on loodud! Võid nüüd sisse logida." }, "masterPassSent": { - "message": "We've sent you an email with your master password hint." + "message": "Ülemparooli vihje saadeti Sinu e-postile." }, "unexpectedError": { - "message": "An unexpected error has occurred." + "message": "Tekkis ootamatu viga." }, "emailAddress": { - "message": "Email Address" + "message": "E-posti aadress" }, "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." + "message": "Hoidla on lukus. Jätkamiseks sisesta ülemparool." }, "unlock": { - "message": "Unlock" + "message": "Lukusta lahti" }, "invalidMasterPassword": { - "message": "Invalid master password" + "message": "Vale ülemparool" }, "lockNow": { - "message": "Lock Now" + "message": "Kliki paroolihoidla lukustamiseks" }, "noItemsInList": { - "message": "There are no items to list." + "message": "Puuduvad kirjed, mida kuvada." }, "noCollectionsInList": { "message": "There are no collections to list." @@ -601,7 +601,7 @@ "message": "There are no events to list." }, "newOrganization": { - "message": "New Organization" + "message": "Uus organisatsioon" }, "noOrganizationsList": { "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." @@ -616,10 +616,10 @@ } }, "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." + "message": "Sisesta autentiseerimise rakendusest 6 kohaline number." }, "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", + "message": "Sisesta 6 kohaline number, mis saadeti e-posti aadressile $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -628,7 +628,7 @@ } }, "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", + "message": "Kinnituskood saadeti e-posti aadressile $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -637,25 +637,25 @@ } }, "rememberMe": { - "message": "Remember me" + "message": "Jäta mind meelde" }, "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" + "message": "Saada kinnituskood uuesti e-postile" }, "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" + "message": "Kasuta teist kaheastmelist sisselogimise meetodit" }, "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." + "message": "Sisesta oma YubiKey arvuti USB porti ja kliki sellele nupule." }, "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." + "message": "Sisesta oma turvaline võti arvuti USB porti. Kui sellel on nupp, siis vajuta seda." }, "loginUnavailable": { - "message": "Login Unavailable" + "message": "Sisselogimine ei ole saadaval" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "Sellel kontol on aktiveeritud kaheastmeline kinnitus. Siiski ei toeta konkreetne brauser ühtegi aktiveeritud kaheastmelise kinnitamise teenust." }, "noTwoStepProviders2": { "message": "Palun kasuta ühilduvat brauserit (näiteks Chrome) ja\/või lisa uus kaheastmelise teenuse pakkuja, mis töötab rohkemates brauserites (näiteks mõni autentiseerimise rakendus)." @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Veebisaidi ikoonid aitavad hoidlas olevaid kontosid paremini eristada." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Vaikimisi" }, @@ -1013,33 +1020,33 @@ "message": "View Recovery Code" }, "providers": { - "message": "Providers", + "message": "Pakkujad", "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { - "message": "Enable" + "message": "Lülita sisse" }, "enabled": { - "message": "Enabled" + "message": "Sisselülitatud" }, "premium": { - "message": "Premium", + "message": "Preemium", "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Membership" + "message": "Preemium versioon" }, "premiumRequired": { - "message": "Premium Required" + "message": "Vajalik on Preemium versioon" }, "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." + "message": "Selle funktsiooni kasutamiseks on vajalik tasulist kontot omada." }, "manage": { "message": "Halda" }, "disable": { - "message": "Disable" + "message": "Keela" }, "twoStepLoginProviderEnabled": { "message": "This two-step login provider is enabled on your account." @@ -1156,7 +1163,7 @@ "message": "Enter the resulting 6 digit verification code from the email" }, "sendEmail": { - "message": "Send Email" + "message": "Saada e-kiri" }, "twoFactorU2fAdd": { "message": "Add a FIDO U2F security key to your account" @@ -1240,7 +1247,7 @@ "message": "Compromised data" }, "website": { - "message": "Website" + "message": "Veebileht" }, "affectedUsers": { "message": "Affected Users" @@ -1258,7 +1265,7 @@ "message": "Billing & Licensing" }, "goPremium": { - "message": "Go Premium", + "message": "Hangi Premium", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { @@ -1268,22 +1275,22 @@ "message": "Upgrade your account to a premium membership and unlock some great additional features." }, "premiumSignUpStorage": { - "message": "1 GB of encrypted file storage." + "message": "1 GB ulatuses krüpteeritud salvestusruum." }, "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + "message": "Lisavõimalused kaheastmeliseks kinnitamiseks, näiteks YubiKey, FIDO U2F ja Duo." }, "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." + "message": "TOTP kinnituskoodide (2FA) genereeria hoidlas olevatele kasutajakontodele." }, "premiumSignUpSupport": { - "message": "Priority customer support." + "message": "Kiirema kasutajatoe." }, "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" + "message": "Tulevased preemium funktsioonid - tasuta!" }, "premiumPrice": { - "message": "All for just $PRICE$ \/year!", + "message": "Kõik see ainult $PRICE$ \/ aastas!", "placeholders": { "price": { "content": "$1", @@ -1292,13 +1299,13 @@ } }, "addons": { - "message": "Addons" + "message": "Lisad" }, "additionalStorageGb": { - "message": "Additional Storage (GB)" + "message": "Lisaruum (GB)" }, "additionalStorageGbDesc": { - "message": "# of additional GB" + "message": "# lisa GB" }, "additionalStorageDesc": { "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB \/year.", @@ -1314,19 +1321,19 @@ } }, "summary": { - "message": "Summary" + "message": "Kokkuvõte" }, "total": { - "message": "Total" + "message": "Kokku" }, "year": { - "message": "year" + "message": "aasta" }, "month": { - "message": "month" + "message": "kuu" }, "monthAbbr": { - "message": "mo.", + "message": "kuu", "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { @@ -1342,10 +1349,10 @@ } }, "paymentInformation": { - "message": "Payment Information" + "message": "Makseinfo" }, "creditCard": { - "message": "Credit Card" + "message": "Krediitkaart" }, "paypalClickSubmit": { "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." @@ -1509,13 +1516,13 @@ "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." }, "generalInformation": { - "message": "General Information" + "message": "Üldine Informatsioon" }, "organizationName": { - "message": "Organization Name" + "message": "Organisatsiooni nimi" }, "accountOwnedBusiness": { - "message": "This account is owned by a business." + "message": "Seda kontot omab ettevõte." }, "billingEmail": { "message": "Billing Email" @@ -1527,7 +1534,7 @@ "message": "Choose Your Plan" }, "users": { - "message": "Users" + "message": "Kasutajad" }, "userSeats": { "message": "User Seats" @@ -1555,7 +1562,7 @@ "message": "How many user seats do you need? You can also add additional seats later if needed." }, "planNameFree": { - "message": "Free" + "message": "Tasuta" }, "planDescFree": { "message": "For testing or personal users to share with $COUNT$ other user.", @@ -1693,13 +1700,13 @@ "message": "Your new organization is ready to go!" }, "leave": { - "message": "Leave" + "message": "Lahku" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "Kas oled kindel, et soovid sellest organisatsioonist lahkuda?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "Oled organisatsioonist lahkunud." }, "defaultCollection": { "message": "Default Collection" @@ -1729,13 +1736,13 @@ "message": "Add Group" }, "editGroup": { - "message": "Edit Group" + "message": "Muuda gruppi" }, "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" + "message": "Tahad kindlasti selle grupi kustutada?" }, "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" + "message": "Tahad kindlasti selle kasutaja eemaldada?" }, "externalId": { "message": "External Id" @@ -1744,28 +1751,28 @@ "message": "The external id is used to link this group to an external system such as a user directory." }, "accessControl": { - "message": "Access Control" + "message": "Ligipääsu haldamine" }, "groupAccessAllItems": { - "message": "This group can access and modify all items." + "message": "See grupp pääseb ligi ja saab muuta kõiki kirjeid." }, "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." + "message": "See grupp pääseb ligi ainult valitud kirjetele." }, "readOnly": { "message": "Read Only" }, "newCollection": { - "message": "New Collection" + "message": "Uus kogumik" }, "addCollection": { - "message": "Add Collection" + "message": "Lisa kogumik" }, "editCollection": { - "message": "Edit Collection" + "message": "Muuda kogumikku" }, "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" + "message": "Oled kindel, et soovid selle kogumiku kustutada?" }, "editUser": { "message": "Edit User" @@ -1792,19 +1799,19 @@ "message": "This user can access only the selected collections." }, "search": { - "message": "Search" + "message": "Otsi" }, "invited": { - "message": "Invited" + "message": "Kutsutud" }, "accepted": { - "message": "Accepted" + "message": "Nõustutud" }, "confirmed": { - "message": "Confirmed" + "message": "Kinnitatud" }, "owner": { - "message": "Owner" + "message": "Omanik" }, "ownerDesc": { "message": "The highest access user that can manage all aspects of your organization." @@ -1816,55 +1823,55 @@ "message": " Admins can access and manage all items, collections and users in your organization." }, "user": { - "message": "User" + "message": "Kasutaja" }, "userDesc": { - "message": "A regular user with access to your organization's collections." + "message": "Tavaline kasutaja, kel on ligipääsu organisatsiooni kirjetele." }, "all": { - "message": "All" + "message": "Kõik" }, "refresh": { - "message": "Refresh" + "message": "Värskenda" }, "timestamp": { - "message": "Timestamp" + "message": "Ajatempel" }, "event": { - "message": "Event" + "message": "Sündmus" }, "unknown": { - "message": "Unknown" + "message": "Tundmatu" }, "loadMore": { - "message": "Load More" + "message": "Laadi veel" }, "mobile": { - "message": "Mobile", + "message": "Mobiil", "description": "Mobile app" }, "extension": { - "message": "Extension", + "message": "Laiendus", "description": "Browser extension\/addon" }, "desktop": { - "message": "Desktop", + "message": "Töölaud", "description": "Desktop app" }, "webVault": { - "message": "Web Vault" + "message": "Veebihoidla" }, "loggedIn": { - "message": "Logged in." + "message": "Sisse logitud." }, "changedPassword": { - "message": "Changed account password." + "message": "Muuda konto parooli." }, "enabled2fa": { - "message": "Enabled two-step login." + "message": "Lülita kaheastmeline kinnitamine sisse." }, "disabled2fa": { - "message": "Disabled two-step login." + "message": "Keela kaheastmeline kinnitamine." }, "recovered2fa": { "message": "Recovered account from two-step login." @@ -2041,16 +2048,16 @@ } }, "device": { - "message": "Device" + "message": "Seade" }, "view": { - "message": "View" + "message": "Vaata" }, "invalidDateRange": { - "message": "Invalid date range." + "message": "Vale andmevahemik." }, "errorOccurred": { - "message": "An error has occurred." + "message": "Ilmnes viga." }, "userAccess": { "message": "User Access" @@ -2161,10 +2168,10 @@ "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." }, "myOrganization": { - "message": "My Organization" + "message": "Minu organisatsioon" }, "deleteOrganization": { - "message": "Delete Organization" + "message": "Kustuta organisatsioon" }, "deleteOrganizationDesc": { "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " @@ -2182,7 +2189,7 @@ "message": "Organization updated" }, "taxInformation": { - "message": "Tax Information" + "message": "Käibemaksu info" }, "taxInformationDesc": { "message": "Please contact support to provide (or update) tax information for your invoices." @@ -2200,10 +2207,10 @@ "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "invoice": { - "message": "Invoice" + "message": "Müügiarve" }, "verifyBankAccount": { - "message": "Verify Bank Account" + "message": "Pangakonto verifitseerimine" }, "verifyBankAccountDesc": { "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." @@ -2244,13 +2251,13 @@ "message": "Account Type" }, "bankAccountTypeCompany": { - "message": "Company (Business)" + "message": "Ettevõte (äri)" }, "bankAccountTypeIndividual": { - "message": "Individual (Personal)" + "message": "Eraisik (personaalne)" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "Sisesta oma paigalduse id" }, "addSeats": { "message": "Add Seats", @@ -2261,7 +2268,7 @@ "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", + "message": "Sinu tellimus lubab kasutada\/luua kokku $COUNT$ kasutajakontot.", "placeholders": { "count": { "content": "$1", @@ -2309,16 +2316,16 @@ "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, "subscription": { - "message": "Subscription" + "message": "Tellimus" }, "loading": { - "message": "Loading" + "message": "Laadimine" }, "upgrade": { - "message": "Upgrade" + "message": "Täienda" }, "upgradeOrganization": { - "message": "Upgrade Organization" + "message": "Täienda organisatsiooni" }, "upgradeOrganizationDesc": { "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." @@ -2330,22 +2337,57 @@ "message": "Before creating your organization, you first need to create a free personal account." }, "refunded": { - "message": "Refunded" + "message": "Tagasi makstud" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "Midagi pole valitud." }, "submitAgreePolicies": { - "message": "By clicking the \"Submit\" button, you agree to the following policies:", + "message": "Klikkides \"Saada\" nupule, nõustud järgnevate tingimustega:", "description": "A policy is something like Terms of Service, Privacy Policy, etc." }, "termsOfService": { - "message": "Terms of Service" + "message": "Kasutustingimused" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "Privaatsuspoliitika" }, "filters": { - "message": "Filters" + "message": "Filtrid" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/fr/messages.json b/locales/fr/messages.json index 660d922f..54d2f612 100644 --- a/locales/fr/messages.json +++ b/locales/fr/messages.json @@ -874,7 +874,7 @@ "message": "Purger le coffre-fort" }, "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." + "message": "Passez ci-dessous pour supprimer tous les éléments et les dossiers dans votre coffre. Les éléments qui appartiennent à une organisation que vous partagez avec ne sont pas supprimés." }, "purgeVaultWarning": { "message": "Purger votre vault est permanent. Cette action ne peut pas être annulée." @@ -910,7 +910,7 @@ "message": "Les données ont été importées avec succès." }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "Les données ne sont pas formatées correctement. S’il vous plaît vérifier votre fichier d’importation et réessayez." }, "importNothingError": { "message": "Rien à importer." @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Les icônes de sites web permettent d'avoir une icône reconnaissable à côté de chaque identifiant dans votre coffre-fort." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Par défaut" }, @@ -1001,13 +1008,13 @@ "message": "Identification à deux étapes" }, "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." + "message": "Sécuriser votre compte en exigeant une étape supplémentaire lorsque vous vous connectez." }, "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." + "message": "La connexion en double facteur pour les utilisateurs de votre organisation est requise en configurant des fournisseurs à l’échelle de l’organisation." }, "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." + "message": "Permettre de se connecter en deux étapes peut définitivement vous bloquer votre compte Bitwarden. Un code de récupération vous permet d’accéder à votre compte dans le cas où vous ne pouvez plus utiliser votre fournisseur de connexion normale en deux étapes (ex. vous perdez votre appareil). Le support de Bitwarden ne sera pas en mesure de vous aider si vous perdez l’accès à votre compte. Nous recommandons que vous notiez ou imprimiez le code de récupération et gardiez ce dernier dans un endroit sûr." }, "viewRecoveryCode": { "message": "Voir le code de récupération" @@ -1042,19 +1049,19 @@ "message": "Désactiver" }, "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." + "message": "Ce fournisseur de connexion en deux étapes est activé sur votre compte." }, "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." + "message": "Entrez votre mot de passe principal pour modifier les paramètres de connexion en deux étapes." }, "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" + "message": "Suivez ces étapes pour configurer la connexion en deux étapes avec une application authentificateur :" }, "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" + "message": "Télécharger une application d'authentification multi factorielle" }, "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" + "message": "Besoin d’une app d’authentificateur en deux étapes ? Téléchargez l’un des éléments suivants" }, "iosDevices": { "message": "Dispositifs iOS" @@ -1168,25 +1175,25 @@ "message": "Si la clé de sécurité à un boutton, pressez-le." }, "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" + "message": "En raison des limitations de la plate-forme, FIDO U2F ne peut servir à toutes les applications de Bitwarden. Vous devez activer un autre fournisseur de connexion en deux étapes afin que vous pouvez accéder à votre compte lorsque FIDO U2F ne peut pas être utilisé. Plates-formes supportées :" }, "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop\/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." + "message": "Coffre web et extensions sur un ordinateur fixe\/portable avec un navigateur compatible U2F (Chrome, Opera, Vivaldi ou Firefox avec FIDO U2F activé)." }, "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" + "message": "Dans l'attente que vous appuyez sur le bouton sur votre clé de sécurité" }, "twoFactorU2fClickEnable": { - "message": "Click the \"Enable\" button below to enable this security key for two-step login." + "message": "Cliquez sur le bouton « Activer » ci-dessous pour activer cette clé de sécurité pour une connexion en deux étapes." }, "twoFactorU2fProblemReading": { "message": "Un problème est survenu lors de la lecture de la clé de sécurité." }, "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" + "message": "Votre code de récupération de login en deux étapes Bitwarden" }, "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." + "message": "Vous n’avez pas encore activé tous les fournisseurs de connexion en deux étapes. Après avoir activé un fournisseur de connexion en deux étapes, vous pouvez vérifier ici votre code de récupération." }, "printCode": { "message": "Communiquez le code", @@ -1199,10 +1206,10 @@ "message": "Rapport de fuites de données" }, "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." + "message": "Une « brèche » est un incident où les données d’un site a été accédées illégalement par des pirates puis rendues public. Examiner les types de données qui ont été compromis (adresses e-mail, mots de passe, cartes de crédit etc.) et prenez les mesures appropriées, telles que la modification des mots de passe." }, "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." + "message": "Vérifiez toutes les adresses noms d’utilisateur ou e-mail que vous utilisez." }, "checkBreaches": { "message": "Vérifier les failles" @@ -1221,7 +1228,7 @@ "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", + "message": "$USERNAME$ a été trouvé dans $COUNT$ brèches de données différentes en ligne.", "placeholders": { "username": { "content": "$1", @@ -1252,7 +1259,7 @@ "message": "Accident signalé" }, "reportError": { - "message": "An error occurred trying to load the report. Try again" + "message": "Une erreur est survenue en essayant de charger le rapport. Réessayez" }, "billingAndLicensing": { "message": "Facturation & License" @@ -1265,7 +1272,7 @@ "message": "Vous venez de passer à un compte Premium." }, "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." + "message": "Mettre à niveau votre compte à un abonnement premium et débloquez les incroyables fonctionnalités supplémentaires." }, "premiumSignUpStorage": { "message": "1 Go de stockage de fichiers chiffrés." @@ -1301,7 +1308,7 @@ "message": "# de Go additionnels" }, "additionalStorageDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB \/year.", + "message": "Votre plan offre un stockage de fichiers chiffré de $SIZE$. Vous pouvez ajouter du stockage additionnel pour $PRICE$ par Go\/an.", "placeholders": { "size": { "content": "$1", @@ -1539,7 +1546,7 @@ "message": "# des sièges utilisateurs" }, "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user \/month.", + "message": "Votre plan offre $BASE_SEATS$ accès utilisateurs. Vous pouvez ajouter des utilisateurs supplémentaires pour $SEAT_PRICE$ par utilisateur\/mois.", "placeholders": { "base_seats": { "content": "$1", @@ -1552,13 +1559,13 @@ } }, "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." + "message": "De combien de comptes utilisateur avez-vous besoin ? Vous pouvez également en ajouter ultérieurement si besoin." }, "planNameFree": { "message": "Gratuit" }, "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", + "message": "Pour les utilisateurs de test ou utilisateurs individuels à partager avec $COUNT$ autres utilisateurs.", "placeholders": { "count": { "content": "$1", @@ -1627,7 +1634,7 @@ } }, "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", + "message": "Ajoutez et partagez jusqu'à $COUNT$ utilisateurs", "placeholders": { "count": { "content": "$1", @@ -1636,7 +1643,7 @@ } }, "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" + "message": "Ajouter et partager avec un nombre illimité d'utilisateurs" }, "createUnlimitedCollections": { "message": "Créer un nombre illimité de collections" @@ -1657,13 +1664,13 @@ "message": "Contrôler l'accès des utilisateurs avec des groupes" }, "syncUsersFromDirectory": { - "message": "Sync your users and groups from a directory" + "message": "Synchroniser vos utilisateurs et les groupes à partir d’un répertoire" }, "trackAuditLogs": { "message": "Suivre les actions avec les logs d'audit" }, "enforce2faDuo": { - "message": "Enforce 2FA with Duo" + "message": "Appliquer 2FA avec Duo" }, "priorityCustomerSupport": { "message": "Support client prioritaire" @@ -1996,7 +2003,7 @@ } }, "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", + "message": "Collections éditées pour l'élément $ID$.", "placeholders": { "id": { "content": "$1", @@ -2032,7 +2039,7 @@ } }, "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", + "message": "Groupes édités pour l'utilisateur $ID$.", "placeholders": { "id": { "content": "$1", @@ -2062,7 +2069,7 @@ "message": "Accès des groupes" }, "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." + "message": "Modifier les groupes auxquels appartient cet utilisateur." }, "invitedUsers": { "message": "Utilisateurs invités." @@ -2104,7 +2111,7 @@ "message": "Vérifiez l'adresse mail de votre compte pour débloquer l'ensemble des fonctionnalités." }, "verifyEmailFirst": { - "message": "Your account's email address first must be verified." + "message": "Votre adresse de messagerie principale doit d'abord être vérifiée." }, "checkInboxForVerification": { "message": "Vérifiez votre email pour le lien de vérification." @@ -2131,31 +2138,31 @@ "message": "Invitation acceptée" }, "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + "message": "Vous pouvez accéder à cette organisation une fois qu’un administrateur confirme votre adhésion. Nous vous enverrons un email quand cela se produit." }, "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + "message": "Impossible d’accepter l’invitation. Demander à un administrateur d’organisation d’envoyer une nouvelle invitation." }, "rememberEmail": { "message": "Se souvenir de l'e-mail" }, "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." + "message": "Si vous ne pouvez pas accéder à votre compte grâce à vos méthodes de connexion normale en deux étapes, vous pouvez utiliser votre code de récupération de login en deux étapes pour désactiver tous les fournisseurs en deux étapes sur votre compte." }, "recoverAccountTwoStep": { "message": "Récupérer votre compte d'authentification à deux étapes" }, "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." + "message": "Ce fournisseur de connexion en deux étapes a été désactivé sur votre compte." }, "learnMore": { "message": "En savoir plus" }, "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." + "message": "Entrez votre adresse email ci-dessous pour récupérer et supprimer votre compte." }, "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." + "message": "Si votre compte existe, nous vous avons envoyé un e-mail avec des instructions supplémentaires." }, "deleteRecoverConfirmDesc": { "message": "Vous avez demandé de supprimer votre compte Bitwarden. Cliquez sur le bouton ci-dessous pour confirmer." @@ -2167,16 +2174,16 @@ "message": "Supprimer l'organisation" }, "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + "message": "Confirmez ci-dessous pour supprimer cette organisation ainsi que toutes les données associées. Les comptes des utilisateurs restent inchangés mais ils ne seront plus associés à cette organisation. " }, "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." + "message": "La suppression d'une organisation est permanente. Elle ne peut être annulée." }, "organizationDeleted": { "message": "Organisation supprimée" }, "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." + "message": "L’organisation et toutes ses données associées a été supprimées." }, "organizationUpdated": { "message": "Organisation mise à jour" @@ -2185,7 +2192,7 @@ "message": "Information fiscale" }, "taxInformationDesc": { - "message": "Please contact support to provide (or update) tax information for your invoices." + "message": "Veuillez contacter le support pour fournir (ou mettre à jour) des renseignements fiscaux pour vos factures." }, "billingPlan": { "message": "Pack", @@ -2206,13 +2213,13 @@ "message": "Vérification du compte bancaire" }, "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." + "message": "Nous avons effectué deux faibles dépôts sur votre compte bancaire (cela peut prendre 1-2 jours ouvrés pour les voir). Saisissez ces montants pour valider le compte bancaire." }, "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." + "message": "Le paiement avec un compte bancaire est seulement disponible pour les clients résidant aux États-Unis. Il vous sera demandé de valider votre compte bancaire. Nous effectuerons deux faibles dépôts sous 1-2 jours ouvrés. Saisissez les montants sur la page de facturation de votre organisation pour valider votre compte bancaire." }, "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." + "message": "Une erreur lors de la validation de votre compte bancaire annulera le paiement et votre abonnement sera désactivé." }, "verifiedBankAccount": { "message": "Votre compte bancaire a été vérifié." @@ -2276,13 +2283,13 @@ "message": "Sièges à enlever" }, "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + "message": "L'ajout de sièges utilisateur va entraîner des ajustements sur votre facturation globale et débiter immédiatement la méthode de paiement courante. Le premier paiement sera calculée au prorata du reste de l’actuel cycle de facturation." }, "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "La suppression de sièges utilisateur va entraîner des ajustements sur votre facturation globale, ils seront calculés au prorata en tant que crédit pour votre prochaine facturation." }, "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", + "message": "$AMOUNT$ comptes utilisateurs mis à jour.", "placeholders": { "amount": { "content": "$1", @@ -2303,10 +2310,10 @@ "message": "Vous utilisez un moyen de chiffrement obsolète." }, "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." + "message": "Nous sommes passés à des clés de chiffrement plus importantes qui fournissent une meilleure sécurité et offrent de nouvelles fonctionnalités. La mise à jour de votre clé de chiffrement est rapide et facile.\nTapez simplement votre mot de passe maître ci-dessous. Cette mise à jour deviendra peut-être obligatoire." }, "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + "message": "Après avoir mis à jour votre clé de chiffrement, vous devrez vous reconnecter sur toutes les applications Bitwarden que vous utilisez actuellement (comme l'appli mobile, les extensions de navigateur). Une erreur lors de la réconnexion (téléchargement de la nouvelle clé) peut amener à une corruption des données. Nous allons essayer de vous déconnecter automatiquement, mais cela demande un peu de temps." }, "subscription": { "message": "Abonnement" @@ -2324,28 +2331,63 @@ "message": "Cette fonctionnalité n'est pas disponible pour les organisations gratuites. Passez à un plan payé pour déverouiller plus de fonctionnalités." }, "createOrganizationStep1": { - "message": "Create Organization: Step 1" + "message": "Créer une organisation: Etape 1" }, "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." + "message": "Avant de créer votre organisation, vous devez d’abord créer un compte personnel gratuit." }, "refunded": { - "message": "Refunded" + "message": "Remboursé" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "Vous n'avez rien selectionné." }, "submitAgreePolicies": { - "message": "By clicking the \"Submit\" button, you agree to the following policies:", + "message": "En cliquant sur le bouton « Soumettre », vous acceptez les politiques suivantes :", "description": "A policy is something like Terms of Service, Privacy Policy, etc." }, "termsOfService": { - "message": "Terms of Service" + "message": "\"Conditions d'utilisation\"" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "Politique de confidentialité" }, "filters": { - "message": "Filters" + "message": "Filtres" + }, + "lockOptions": { + "message": "Options de verrouillage" + }, + "lockOptionsDesc": { + "message": "Choisissez quand votre coffre se verrouille. Un coffre verrouillé requiert la saisie de votre mot de passe maître pour y avoir à nouveau accès." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 heure" + }, + "fourHours": { + "message": "4 heures" + }, + "onRefresh": { + "message": "Au rafraîchissement du navigateur" + }, + "dateUpdated": { + "message": "Mis à jour", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Mot de passe mis à jour", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/it/messages.json b/locales/it/messages.json index d82f765d..a81ea0d7 100644 --- a/locales/it/messages.json +++ b/locales/it/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Le icone dei siti web forniscono un'immagine riconoscibile accanto ad ogni elemento di login." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Predefinito" }, @@ -1292,7 +1299,7 @@ } }, "addons": { - "message": "Addons" + "message": "Addon" }, "additionalStorageGb": { "message": "Additional Storage (GB)" @@ -1314,16 +1321,16 @@ } }, "summary": { - "message": "Summary" + "message": "Riepilogo" }, "total": { - "message": "Total" + "message": "Totale" }, "year": { - "message": "year" + "message": "anno" }, "month": { - "message": "month" + "message": "mese" }, "monthAbbr": { "message": "mo.", @@ -1381,13 +1388,13 @@ "message": "Never Expires" }, "status": { - "message": "Status" + "message": "Stato" }, "nextCharge": { "message": "Next Charge" }, "details": { - "message": "Details" + "message": "Dettagli" }, "downloadLicense": { "message": "Download License" @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/ja/messages.json b/locales/ja/messages.json index d37884d6..4c87e6d6 100644 --- a/locales/ja/messages.json +++ b/locales/ja/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Website Icons provide a recognizable image next to each login item in your vault." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Default" }, @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/ko/messages.json b/locales/ko/messages.json index d37884d6..4c87e6d6 100644 --- a/locales/ko/messages.json +++ b/locales/ko/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Website Icons provide a recognizable image next to each login item in your vault." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Default" }, @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/nb/messages.json b/locales/nb/messages.json new file mode 100644 index 00000000..3b64267c --- /dev/null +++ b/locales/nb/messages.json @@ -0,0 +1,2393 @@ +{ + "pageTitle": { + "message": "$APP_NAME$ netthvelv", + "description": "The title of the website in the browser window.", + "placeholders": { + "app_name": { + "content": "$1", + "example": "Bitwarden" + } + } + }, + "whatTypeOfItem": { + "message": "Hvilken type gjenstand er dette?" + }, + "name": { + "message": "Navn" + }, + "uri": { + "message": "URI" + }, + "uriPosition": { + "message": "URI $POSITION$", + "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", + "placeholders": { + "position": { + "content": "$1", + "example": "2" + } + } + }, + "newUri": { + "message": "Ny URI" + }, + "username": { + "message": "Brukernavn" + }, + "password": { + "message": "Passord" + }, + "notes": { + "message": "Notater" + }, + "customFields": { + "message": "Tilpassede felter" + }, + "cardholderName": { + "message": "Kortholderens navn" + }, + "number": { + "message": "Nummer" + }, + "brand": { + "message": "Merke" + }, + "expiration": { + "message": "Utløp" + }, + "securityCode": { + "message": "Sikkerhetskode (CVV)" + }, + "identityName": { + "message": "Identitetsnavn" + }, + "company": { + "message": "Firma" + }, + "ssn": { + "message": "Nummer for sosial stønad" + }, + "passportNumber": { + "message": "Pass-nummer" + }, + "licenseNumber": { + "message": "Lisens-\/førerkort-nummer" + }, + "email": { + "message": "E-post" + }, + "phone": { + "message": "Telefon" + }, + "january": { + "message": "Januar" + }, + "february": { + "message": "Februar" + }, + "march": { + "message": "Mars" + }, + "april": { + "message": "April" + }, + "may": { + "message": "Mai" + }, + "june": { + "message": "Juni" + }, + "july": { + "message": "Juli" + }, + "august": { + "message": "August" + }, + "september": { + "message": "September" + }, + "october": { + "message": "Oktober" + }, + "november": { + "message": "November" + }, + "december": { + "message": "Desember" + }, + "title": { + "message": "Tittel" + }, + "mr": { + "message": "Herr" + }, + "mrs": { + "message": "Fru" + }, + "ms": { + "message": "Frøken" + }, + "dr": { + "message": "Dr․" + }, + "expirationMonth": { + "message": "Utløpsmåned" + }, + "expirationYear": { + "message": "Utløpsår" + }, + "authenticatorKeyTotp": { + "message": "Autentiseringsnøkkel (TOTP)" + }, + "folder": { + "message": "Mappe" + }, + "newCustomField": { + "message": "Nytt egendefinert felt" + }, + "value": { + "message": "Verdi" + }, + "cfTypeText": { + "message": "Tekst" + }, + "cfTypeHidden": { + "message": "Skjult" + }, + "cfTypeBoolean": { + "message": "Boolsk verdi" + }, + "remove": { + "message": "Fjern" + }, + "unassigned": { + "message": "Utilegnet" + }, + "noneFolder": { + "message": "Ingen mappe", + "description": "This is the folder for uncategorized items" + }, + "addFolder": { + "message": "Legg til en mappe" + }, + "editFolder": { + "message": "Rediger mappen" + }, + "baseDomain": { + "message": "Grunndomene" + }, + "host": { + "message": "Vert", + "description": "A URL's host value. For example, the host of https:\/\/sub.domain.com:443 is 'sub.domain.com:443'." + }, + "exact": { + "message": "Nøyaktig" + }, + "startsWith": { + "message": "Starter med" + }, + "regEx": { + "message": "Regulært uttrykk", + "description": "A programming term, also known as 'RegEx'." + }, + "matchDetection": { + "message": "Match-gjenkjenning", + "description": "URI match detection for auto-fill." + }, + "defaultMatchDetection": { + "message": "Standard match-gjenkjenning", + "description": "Default URI match detection for auto-fill." + }, + "never": { + "message": "Aldri" + }, + "toggleVisibility": { + "message": "Juster synlighet" + }, + "generatePassword": { + "message": "Generer et passord" + }, + "checkPassword": { + "message": "Sjekk om passordet har blitt utsatt." + }, + "passwordExposed": { + "message": "Dette passordet har blitt utsatt $VALUE$ gang(er) i et databrudd. Du burde endre det.", + "placeholders": { + "value": { + "content": "$1", + "example": "2" + } + } + }, + "passwordSafe": { + "message": "Dette passordet ble ikke funnet i noen kjente databrudd. Det burde være trygt å bruke." + }, + "save": { + "message": "Lagre" + }, + "cancel": { + "message": "Avbryt" + }, + "canceled": { + "message": "Avbrutt" + }, + "close": { + "message": "Lukk" + }, + "delete": { + "message": "Slett" + }, + "favorite": { + "message": "Gi favorittstempel" + }, + "unfavorite": { + "message": "Fjern favorittstempel" + }, + "edit": { + "message": "Rediger" + }, + "searchCollection": { + "message": "Søk i samling" + }, + "searchFolder": { + "message": "Søk i mappe" + }, + "searchFavorites": { + "message": "Søk i favoritter" + }, + "searchType": { + "message": "Søk i type", + "description": "Search item type" + }, + "searchVault": { + "message": "Søk i hvelvet" + }, + "allItems": { + "message": "Alle gjenstander" + }, + "favorites": { + "message": "Favoritter" + }, + "types": { + "message": "Typer" + }, + "typeLogin": { + "message": "Innlogging" + }, + "typeCard": { + "message": "Kort" + }, + "typeIdentity": { + "message": "Identitet" + }, + "typeSecureNote": { + "message": "Sikker notis" + }, + "folders": { + "message": "Mapper" + }, + "collections": { + "message": "Samlinger" + }, + "firstName": { + "message": "Fornavn" + }, + "middleName": { + "message": "Mellomnavn" + }, + "lastName": { + "message": "Etternavn" + }, + "address1": { + "message": "Adresse 1" + }, + "address2": { + "message": "Adresse 2" + }, + "address3": { + "message": "Adresse 3" + }, + "cityTown": { + "message": "By \/ Tettsted" + }, + "stateProvince": { + "message": "Fylke \/ Region" + }, + "zipPostalCode": { + "message": "Postnummer" + }, + "country": { + "message": "Land" + }, + "shared": { + "message": "Delt" + }, + "attachments": { + "message": "Vedlegg" + }, + "select": { + "message": "Velg" + }, + "addItem": { + "message": "Legg til en gjenstand" + }, + "editItem": { + "message": "Rediger gjenstanden" + }, + "ex": { + "message": "f.eks.", + "description": "Short abbreviation for 'example'." + }, + "other": { + "message": "Annet" + }, + "share": { + "message": "Del" + }, + "valueCopied": { + "message": "$VALUE$ har blitt kopiert", + "description": "Value has been copied to the clipboard.", + "placeholders": { + "value": { + "content": "$1", + "example": "Password" + } + } + }, + "copyValue": { + "message": "Kopier verdien", + "description": "Copy value to clipboard" + }, + "copyPassword": { + "message": "Kopier passordet", + "description": "Copy password to clipboard" + }, + "copyUsername": { + "message": "Kopier brukernavnet", + "description": "Copy username to clipboard" + }, + "copyNumber": { + "message": "Kopier nummeret", + "description": "Copy credit card number" + }, + "copySecurityCode": { + "message": "Kopier sikkerhetskoden", + "description": "Copy credit card security code (CVV)" + }, + "copyUri": { + "message": "Kopier URIen", + "description": "Copy URI to clipboard" + }, + "myVault": { + "message": "Mitt hvelv" + }, + "vault": { + "message": "Hvelv" + }, + "shareSelected": { + "message": "Del de valgte" + }, + "deleteSelected": { + "message": "Slett de valgte" + }, + "moveSelected": { + "message": "Flytt de valgte" + }, + "selectAll": { + "message": "Velg alt" + }, + "unselectAll": { + "message": "Avvelg alt" + }, + "launch": { + "message": "Åpne" + }, + "newAttachment": { + "message": "Legg til et nytt vedlegg" + }, + "deletedAttachment": { + "message": "Slettet vedlegget" + }, + "deleteAttachmentConfirmation": { + "message": "Er du sikker på at du vil slette dette vedlegget?" + }, + "attachmentSaved": { + "message": "Vedlegget har blitt lagret." + }, + "file": { + "message": "Fil" + }, + "selectFile": { + "message": "Velg en fil." + }, + "maxFileSize": { + "message": "Den maksimale filstørrelsen er 100 MB." + }, + "updateKey": { + "message": "Du kan ikke bruke denne funksjonen før du oppdaterer krypteringsnøkkelen din." + }, + "addedItem": { + "message": "La til gjenstanden" + }, + "editedItem": { + "message": "Redigerte gjenstanden" + }, + "sharedItem": { + "message": "Delte gjenstanden" + }, + "sharedItems": { + "message": "Delte gjenstander" + }, + "deleteItem": { + "message": "Slett gjenstanden" + }, + "deleteFolder": { + "message": "Slett mappen" + }, + "deleteAttachment": { + "message": "Slett vedlegget" + }, + "deleteItemConfirmation": { + "message": "Er du sikker på at du vil slette denne gjenstanden?" + }, + "deletedItem": { + "message": "Slettet gjenstanden" + }, + "deletedItems": { + "message": "Slettet gjenstandene" + }, + "movedItems": { + "message": "Flyttede gjenstander" + }, + "overwritePasswordConfirmation": { + "message": "Er du sikker på at du vil overskrive det nåværende passordet?" + }, + "editedFolder": { + "message": "Redigerte mappen" + }, + "addedFolder": { + "message": "La til en mappe" + }, + "deleteFolderConfirmation": { + "message": "Er du sikker på at du vil slette denne mappen?" + }, + "deletedFolder": { + "message": "Slettet mappen" + }, + "loggedOut": { + "message": "Logget av" + }, + "loginExpired": { + "message": "Din innloggingsøkt har utløpt." + }, + "logOutConfirmation": { + "message": "Er du sikker på at du vil logge av?" + }, + "logOut": { + "message": "Logg av" + }, + "ok": { + "message": "OK" + }, + "yes": { + "message": "Ja" + }, + "no": { + "message": "Nei" + }, + "loginOrCreateNewAccount": { + "message": "Logg på eller opprett en ny konto for å få tilgang til ditt sikre hvelv." + }, + "createAccount": { + "message": "Opprett en konto" + }, + "logIn": { + "message": "Logg på" + }, + "submit": { + "message": "Send inn" + }, + "emailAddressDesc": { + "message": "Du skal bruke E-postadressen din til å logge på." + }, + "yourName": { + "message": "Ditt navn" + }, + "yourNameDesc": { + "message": "Hva burde vi kalle deg?" + }, + "masterPass": { + "message": "Superpassord" + }, + "masterPassDesc": { + "message": "Superpassordet er passordet du bruker for å få tilgang til hvelvet ditt. Det er veldig viktig at du aldri glemmer ditt superpassord. Det er ingen måter å få tilbake passordet på dersom du noensinne skulle klare å glemme det." + }, + "masterPassHintDesc": { + "message": "Et hint for superpassordet kan hjelpe deg med å huske på passordet dersom du skulle glemme det." + }, + "reTypeMasterPass": { + "message": "Skriv inn superpassordet på nytt" + }, + "masterPassHint": { + "message": "Et hint for superpassordet (valgfritt)" + }, + "masterPassHintLabel": { + "message": "Hint til superpassord" + }, + "settings": { + "message": "Innstillinger" + }, + "passwordHint": { + "message": "Passordhint" + }, + "enterEmailToGetHint": { + "message": "Skriv inn din kontos E-postadresse for å motta hintet til ditt superpassord." + }, + "getMasterPasswordHint": { + "message": "Få et hint om superpassordet" + }, + "emailRequired": { + "message": "E-postadressen er påkrevd." + }, + "invalidEmail": { + "message": "Ugyldig E-postadresse." + }, + "masterPassRequired": { + "message": "Superpassordet er påkrevd." + }, + "masterPassLength": { + "message": "Superpassordet må være ≥8 tegn langt." + }, + "masterPassDoesntMatch": { + "message": "Superpassord-bekreftelsen er ikke samsvarende." + }, + "newAccountCreated": { + "message": "Din nye konto har blitt opprettet! Du kan nå logge på." + }, + "masterPassSent": { + "message": "Vi har sendt deg en E-post med hintet til superpassordet." + }, + "unexpectedError": { + "message": "En uventet feil har oppstått." + }, + "emailAddress": { + "message": "E-postadresse" + }, + "yourVaultIsLocked": { + "message": "Hvelvet ditt er låst. Kontroller superpassordet ditt for å fortsette." + }, + "unlock": { + "message": "Lås opp" + }, + "invalidMasterPassword": { + "message": "Ugyldig superpassord" + }, + "lockNow": { + "message": "Lås nå" + }, + "noItemsInList": { + "message": "Det er ingen gjenstander å liste opp." + }, + "noCollectionsInList": { + "message": "Det er ingen samlinger å liste opp." + }, + "noGroupsInList": { + "message": "Det er ingen grupper å liste opp." + }, + "noUsersInList": { + "message": "Det er ingen brukere å liste opp." + }, + "noEventsInList": { + "message": "Det er ingen hendelser å liste opp." + }, + "newOrganization": { + "message": "Ny organisasjon" + }, + "noOrganizationsList": { + "message": "Du tilhører ikke noen organisasjoner. Organisasjoner gjør det mulig for deg å sikkert dele gjenstander med andre brukere." + }, + "versionNumber": { + "message": "Versjon $VERSION_NUMBER$", + "placeholders": { + "version_number": { + "content": "$1", + "example": "1.2.3" + } + } + }, + "enterVerificationCodeApp": { + "message": "Skriv inn den 6-sifrede verifiseringskoden som står på din autentiseringsapp." + }, + "enterVerificationCodeEmail": { + "message": "Skriv inn den 6-sifrede verifiseringskoden som ble sendt til $EMAIL$.", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "verificationCodeEmailSent": { + "message": "En verifiserings-E-post har blitt sendt til $EMAIL$.", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "rememberMe": { + "message": "Husk på meg" + }, + "sendVerificationCodeEmailAgain": { + "message": "Send E-posten med verifiseringskoden på nytt" + }, + "useAnotherTwoStepMethod": { + "message": "Bruk en annen 2-trinnsinnloggingsmetode" + }, + "insertYubiKey": { + "message": "Sett inn din YubiKey i din datamaskins USB-uttak, og så trykk på dens knapp." + }, + "insertU2f": { + "message": "Sett din sikkerhetsnøkkel inn i din datamaskins USB-uttak. Dersom den har en knapp, trykk på den." + }, + "loginUnavailable": { + "message": "Innloggingen er utilgjengelig" + }, + "noTwoStepProviders": { + "message": "Denne kontoen har 2-trinnsinnlogging aktivert, men ingen av de oppsatte 2-trinnsleverandørene er støttet av denne nettleseren." + }, + "noTwoStepProviders2": { + "message": "Vennligst bruk en støttet nettleser (f.eks. Chrome) og\/eller legg til flere leverandører som er bedre støttet mellom flere nettlesere (slik som en autentiseringsapp)." + }, + "twoStepOptions": { + "message": "2-trinnsinnloggingsalternativer" + }, + "recoveryCodeDesc": { + "message": "Har du mistet tilgang til alle dine 2-trinnsleverandører? Bruk din gjenopprettingskode til å fjerne alle 2-trinnsleverandører fra din konto." + }, + "recoveryCodeTitle": { + "message": "Gjenopprettingskode" + }, + "authenticatorAppTitle": { + "message": "Autentiseringsapp" + }, + "authenticatorAppDesc": { + "message": "Bruk en autentiseringsapp (f․eks․ Authy eller Google Authenticator) for å generere tidsbegrensede verifiseringskoder.", + "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." + }, + "yubiKeyTitle": { + "message": "YubiKey OTP-sikkerhetsnøkkel" + }, + "yubiKeyDesc": { + "message": "Bruk en YubiKey for å få tilgang til kontoen din. Virker med enheter av typene YubiKey 4, 4 Nano, 4C, og NEO." + }, + "duoDesc": { + "message": "Verifiser med Duo Security gjennom Duo Mobile-appen, SMS, telefonsamtale, eller en U2F-sikkerhetsnøkkel.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "duoOrganizationDesc": { + "message": "Verifiser med Duo Security for din organisasjon gjennom Duo Mobile-appen, SMS, telefonsamtale, eller en U2F-sikkerhetsnøkkel.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "u2fDesc": { + "message": "Bruk enhver FIDO U2F-aktivert sikkerhetsnøkkel til å få tilgang til kontoen din." + }, + "u2fTitle": { + "message": "FIDO U2F-sikkerhetsnøkkel" + }, + "emailTitle": { + "message": "E-post" + }, + "emailDesc": { + "message": "Verifiseringskoder vil bli sendt til deg med E-post." + }, + "continue": { + "message": "Fortsett" + }, + "organization": { + "message": "Organisasjon" + }, + "organizations": { + "message": "Organisasjoner" + }, + "shareDesc": { + "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." + }, + "shareManyDesc": { + "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." + }, + "collectionsDesc": { + "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." + }, + "deleteSelectedItemsDesc": { + "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "moveSelectedItemsDesc": { + "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "shareSelectedItemsDesc": { + "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not. Items with attachments must be shared individually.", + "placeholders": { + "count": { + "content": "$1", + "example": "10" + }, + "shareable_count": { + "content": "$2", + "example": "8" + }, + "nonshareable_count": { + "content": "$3", + "example": "2" + } + } + }, + "verificationCodeTotp": { + "message": "Verifiseringskode (TOTP)" + }, + "copyVerificationCode": { + "message": "Kopier verifiseringskoden" + }, + "warning": { + "message": "Advarsel" + }, + "exportWarning": { + "message": "Eksporten inneholder dine krypterte dataer i .csv-format. Du burde ikke lagre eller sende dem over usikre tjenester (f.eks. E-post). Slett det umiddelbart etter at du er ferdig med å bruke dem." + }, + "exportMasterPassword": { + "message": "Skriv inn ditt superpassord for å eksportere dine hvelvdataer." + }, + "exportVault": { + "message": "Eksporter hvelvet" + }, + "exportSuccess": { + "message": "Ditt hvelvs data har blitt eksportert." + }, + "passwordGenerator": { + "message": "Passordgenerator" + }, + "minNumbers": { + "message": "Minst antall numre" + }, + "minSpecial": { + "message": "Minst antall spesialtegn", + "description": "Minimum Special Characters" + }, + "ambiguous": { + "message": "Unngå forvekslingsbare tegn" + }, + "regeneratePassword": { + "message": "Omgenerer et passord" + }, + "length": { + "message": "Lengde" + }, + "passwordHistory": { + "message": "Passordhistorikk" + }, + "noPasswordsInList": { + "message": "Det er ingen passord å liste opp." + }, + "clear": { + "message": "Tøm" + }, + "accountUpdated": { + "message": "Kontoen er oppdatert" + }, + "changeEmail": { + "message": "Endre E-postadresse" + }, + "newEmail": { + "message": "Ny E-postadresse" + }, + "code": { + "message": "Kode" + }, + "changeEmailDesc": { + "message": "Vi har sendt en E-post med en verifiseringskode til $EMAIL$. Vennligst se etter koden i E-postinnboksen din, og skriv den inn nedenfor for å endeliggjøre din E-postadresseendring.", + "placeholders": { + "email": { + "content": "$1", + "example": "john.smith@example.com" + } + } + }, + "loggedOutWarning": { + "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + }, + "emailChanged": { + "message": "E-postadressen er endret" + }, + "logBackIn": { + "message": "Vennligst logg på igjen." + }, + "logBackInOthersToo": { + "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." + }, + "changeMasterPassword": { + "message": "Endre superpassordet" + }, + "masterPasswordChanged": { + "message": "Superpassordet er endret" + }, + "currentMasterPass": { + "message": "Det nåværende superpassordet" + }, + "newMasterPass": { + "message": "Nytt superpassord" + }, + "confirmNewMasterPass": { + "message": "Bekreft det nye superpassordet" + }, + "dangerZone": { + "message": "Faresone" + }, + "dangerZoneDesc": { + "message": "Vær forsiktig, disse handlingene kan ikke reverseres!" + }, + "deauthorizeSessions": { + "message": "Deauthorize Sessions" + }, + "deauthorizeSessionsDesc": { + "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." + }, + "deauthorizeSessionsWarning": { + "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." + }, + "sessionsDeauthorized": { + "message": "All Sessions Deauthorized" + }, + "purgeVault": { + "message": "Tøm hvelvet" + }, + "purgeVaultDesc": { + "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." + }, + "purgeVaultWarning": { + "message": "Purging your vault is permanent. It cannot be undone." + }, + "vaultPurged": { + "message": "Hvelvet ditt har blitt tømt." + }, + "deleteAccount": { + "message": "Slett kontoen din" + }, + "deleteAccountDesc": { + "message": "Proceed below to delete your account and all associated data." + }, + "deleteAccountWarning": { + "message": "Deleting your account is permanent. It cannot be undone." + }, + "accountDeleted": { + "message": "Kontoen er slettet" + }, + "accountDeletedDesc": { + "message": "Kontoen din har blitt avsluttet, og alle dens tilkoblede data har blitt slettet." + }, + "myAccount": { + "message": "Min konto" + }, + "tools": { + "message": "Verktøy" + }, + "importData": { + "message": "Importer data" + }, + "importSuccess": { + "message": "Data has been successfully imported into your vault." + }, + "importFormatError": { + "message": "Data is not formatted correctly. Please check your import file and try again." + }, + "importNothingError": { + "message": "Ingenting ble importert." + }, + "selectFormat": { + "message": "Velg formatet til importfilen" + }, + "selectImportFile": { + "message": "Velg importfilen" + }, + "orCopyPasteFileContents": { + "message": "eller kopier og lim inn importfilens innhold" + }, + "instructionsFor": { + "message": "$NAME$-instrukser", + "description": "The title for the import tool instructions.", + "placeholders": { + "name": { + "content": "$1", + "example": "LastPass (csv)" + } + } + }, + "options": { + "message": "Alternativer" + }, + "optionsDesc": { + "message": "Tilpass din netthvelvopplevelse." + }, + "optionsUpdated": { + "message": "Innstillingene er oppdatert" + }, + "language": { + "message": "Språk" + }, + "languageDesc": { + "message": "Endre språket som brukes av netthvelvet." + }, + "disableIcons": { + "message": "Skru av nettstedsikoner" + }, + "disableIconsDesc": { + "message": "Nettstedsikoner sørger for et gjenkjennelig bilde ved siden av hver innloggingsgjenstand i hvelvet ditt." + }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, + "default": { + "message": "Standard" + }, + "domainRules": { + "message": "Domeneregler" + }, + "domainRulesDesc": { + "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." + }, + "globalEqDomains": { + "message": "Standard samsvaringsdomener" + }, + "customEqDomains": { + "message": "Selvvalgte samsvaringsdomener" + }, + "exclude": { + "message": "Ekskluder" + }, + "include": { + "message": "Inkluder" + }, + "customize": { + "message": "Tilpass" + }, + "newCustomDomain": { + "message": "Nytt tilpasset domene" + }, + "newCustomDomainDesc": { + "message": "Skriv inn en liste over domener som er adskilt med kommaer. Bare grunndomener er tillatt. Ikke skriv inn underdomener. For eksempel, skriv inn \"google.no\" i stedet for \"www.google.no\". Du kan også skrive inn \"androidapp:\/\/pakkens.navn\" for å knytte en Android-app sammen med andre nettstedsdomener." + }, + "customDomainX": { + "message": "Tilpasset domene nr. $INDEX$", + "placeholders": { + "index": { + "content": "$1", + "example": "2" + } + } + }, + "domainsUpdated": { + "message": "Domenene er oppdatert" + }, + "twoStepLogin": { + "message": "2-trinnsinnlogging" + }, + "twoStepLoginDesc": { + "message": "Secure your account by requiring an additional step when logging in." + }, + "twoStepLoginOrganizationDesc": { + "message": "Require two-step login for your organization's users by configuring providers at the organization level." + }, + "twoStepLoginRecoveryWarning": { + "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." + }, + "viewRecoveryCode": { + "message": "Vis gjenopprettingskode" + }, + "providers": { + "message": "Leverandører", + "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." + }, + "enable": { + "message": "Aktiver" + }, + "enabled": { + "message": "Aktivert" + }, + "premium": { + "message": "Premium", + "description": "Premium Membership" + }, + "premiumMembership": { + "message": "Premium-medlemskap" + }, + "premiumRequired": { + "message": "Premium er påkrevd" + }, + "premiumRequiredDesc": { + "message": "Et Premium-medlemskap er påkrevd for å bruke denne funksjonen." + }, + "manage": { + "message": "Behandle" + }, + "disable": { + "message": "Deaktiver" + }, + "twoStepLoginProviderEnabled": { + "message": "This two-step login provider is enabled on your account." + }, + "twoStepLoginAuthDesc": { + "message": "Enter your master password to modify two-step login settings." + }, + "twoStepAuthenticatorDesc": { + "message": "Follow these steps to set up two-step login with an authenticator app:" + }, + "twoStepAuthenticatorDownloadApp": { + "message": "Download a two-step authenticator app" + }, + "twoStepAuthenticatorNeedApp": { + "message": "Need a two-step authenticator app? Download one of the following" + }, + "iosDevices": { + "message": "iOS-enheter" + }, + "androidDevices": { + "message": "Android-enheter" + }, + "windowsDevices": { + "message": "Windows-enheter" + }, + "twoStepAuthenticatorAppsRecommended": { + "message": "Disse appene er anbefalt, men andre autentiseringsapper vil også fungere." + }, + "twoStepAuthenticatorScanCode": { + "message": "Skann denne QR-koden med din autentiseringsapp" + }, + "key": { + "message": "Nøkkel" + }, + "twoStepAuthenticatorEnterCode": { + "message": "Skriv inn den påfølgende 6-sifrede verifiseringskoden fra appen" + }, + "twoStepAuthenticatorReaddDesc": { + "message": "Dersom du trenger å legge den til til en annen enhet, er QR-koden (eller -nøkkelen) som kreves av din autentiseringsapp nedenfor." + }, + "twoStepDisableDesc": { + "message": "Er du sikker på at du vil skru av denne 2-trinnsinnloggingsleverandøren?" + }, + "twoStepDisabled": { + "message": "Two-step login provider disabled." + }, + "twoFactorYubikeyAdd": { + "message": "Add a new YubiKey to your account" + }, + "twoFactorYubikeyPlugIn": { + "message": "Plug the YubiKey (NEO or 4 series) into your computer's USB port." + }, + "twoFactorYubikeySelectKey": { + "message": "Select in the first empty YubiKey input field below." + }, + "twoFactorYubikeyTouchButton": { + "message": "Touch the YubiKey's button." + }, + "twoFactorYubikeySaveForm": { + "message": "Save the form." + }, + "twoFactorYubikeyWarning": { + "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" + }, + "twoFactorYubikeySupportUsb": { + "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." + }, + "twoFactorYubikeySupportMobile": { + "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." + }, + "yubikeyX": { + "message": "YubiKey $INDEX$", + "placeholders": { + "index": { + "content": "$1", + "example": "2" + } + } + }, + "nfcSupport": { + "message": "NFC Support" + }, + "twoFactorYubikeySupportsNfc": { + "message": "One of my keys supports NFC." + }, + "twoFactorYubikeySupportsNfcDesc": { + "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." + }, + "yubikeysUpdated": { + "message": "YubiKeys updated" + }, + "disableAllKeys": { + "message": "Disable All Keys" + }, + "twoFactorDuoDesc": { + "message": "Enter the Bitwarden application information from your Duo Admin panel." + }, + "twoFactorDuoIntegrationKey": { + "message": "Integration Key" + }, + "twoFactorDuoSecretKey": { + "message": "Secret Key" + }, + "twoFactorDuoApiHostname": { + "message": "API Hostname" + }, + "twoFactorEmailDesc": { + "message": "Follow these steps to set up two-step login with email:" + }, + "twoFactorEmailEnterEmail": { + "message": "Enter the email that you wish to receive verification codes" + }, + "twoFactorEmailEnterCode": { + "message": "Enter the resulting 6 digit verification code from the email" + }, + "sendEmail": { + "message": "Send Email" + }, + "twoFactorU2fAdd": { + "message": "Add a FIDO U2F security key to your account" + }, + "twoFactorU2fPlugIn": { + "message": "Plug the security key into your computer's USB port." + }, + "twoFactorU2fTouchButton": { + "message": "If the security key has a button, touch it." + }, + "twoFactorU2fWarning": { + "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" + }, + "twoFactorU2fSupportWeb": { + "message": "Web vault and browser extensions on a desktop\/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." + }, + "twoFactorU2fWaiting": { + "message": "Waiting for you to touch the button on your security key" + }, + "twoFactorU2fClickEnable": { + "message": "Click the \"Enable\" button below to enable this security key for two-step login." + }, + "twoFactorU2fProblemReading": { + "message": "There was a problem reading the security key." + }, + "twoFactorRecoveryYourCode": { + "message": "Your Bitwarden two-step login recovery code" + }, + "twoFactorRecoveryNoCode": { + "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." + }, + "printCode": { + "message": "Skriv ut koden", + "description": "Print 2FA recovery code" + }, + "reports": { + "message": "Rapporter" + }, + "dataBreachReport": { + "message": "Databruddrapporter" + }, + "breachDesc": { + "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." + }, + "breachCheckUsernameEmail": { + "message": "Sjekk noen av brukernavnene eller E-postadressene som du bruker." + }, + "checkBreaches": { + "message": "Sjekk databrudd" + }, + "breachUsernameNotFound": { + "message": "$USERNAME$ ble ikke funnet i noen kjente databrudd.", + "placeholders": { + "username": { + "content": "$1", + "example": "user@example.com" + } + } + }, + "goodNews": { + "message": "Gode nyheter", + "description": "ex. Good News, No Breached Accounts Found!" + }, + "breachUsernameFound": { + "message": "$USERNAME$ ble funnet i $COUNT$ forskjellige databrudd på nettet.", + "placeholders": { + "username": { + "content": "$1", + "example": "user@example.com" + }, + "count": { + "content": "$2", + "example": "7" + } + } + }, + "breachFound": { + "message": "Inntrengte kontoer ble funnet" + }, + "compromisedData": { + "message": "Kompromitterte data" + }, + "website": { + "message": "Nettsted" + }, + "affectedUsers": { + "message": "Påvirkede brukere" + }, + "breachOccurred": { + "message": "Databruddet hendte den" + }, + "breachReported": { + "message": "Databruddet ble meldt ifra om den" + }, + "reportError": { + "message": "En feil oppstod under forsøk på å laste inn rapporten. Prøv igjen." + }, + "billingAndLicensing": { + "message": "Billing & Licensing" + }, + "goPremium": { + "message": "Oppgrader til Premium", + "description": "Another way of saying \"Get a premium membership\"" + }, + "premiumUpdated": { + "message": "Du har oppgradert til Premium." + }, + "premiumUpgradeUnlockFeatures": { + "message": "Upgrade your account to a premium membership and unlock some great additional features." + }, + "premiumSignUpStorage": { + "message": "1 GB med kryptert fillagring." + }, + "premiumSignUpTwoStep": { + "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + }, + "premiumSignUpTotp": { + "message": "TOTP verification code (2FA) generator for logins in your vault." + }, + "premiumSignUpSupport": { + "message": "Prioritert kundestøtte." + }, + "premiumSignUpFuture": { + "message": "All future premium features. More coming soon!" + }, + "premiumPrice": { + "message": "Alt dette for bare $PRICE$\/år!", + "placeholders": { + "price": { + "content": "$1", + "example": "$10" + } + } + }, + "addons": { + "message": "Utvidelser" + }, + "additionalStorageGb": { + "message": "Ytterligere lagringsplass (GB)" + }, + "additionalStorageGbDesc": { + "message": "# of additional GB" + }, + "additionalStorageDesc": { + "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB \/year.", + "placeholders": { + "size": { + "content": "$1", + "example": "1 GB" + }, + "price": { + "content": "$2", + "example": "$4.00" + } + } + }, + "summary": { + "message": "Sammendrag" + }, + "total": { + "message": "Totalt" + }, + "year": { + "message": "år" + }, + "month": { + "message": "måned" + }, + "monthAbbr": { + "message": "må.", + "description": "Short abbreviation for 'month'" + }, + "paymentChargedAnnually": { + "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." + }, + "paymentChargedWithTrial": { + "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", + "placeholders": { + "interval": { + "content": "$1", + "example": "year" + } + } + }, + "paymentInformation": { + "message": "Betalingsinformasjon" + }, + "creditCard": { + "message": "Bankkort" + }, + "paypalClickSubmit": { + "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." + }, + "cancelSubscription": { + "message": "Avbryt abonnementet" + }, + "subscriptionCanceled": { + "message": "The subscription has been canceled." + }, + "pendingCancellation": { + "message": "Pending Cancellation" + }, + "subscriptionPendingCanceled": { + "message": "The subscription has been marked for cancellation at the end of the current billing period." + }, + "reinstateSubscription": { + "message": "Reinstate Subscription" + }, + "reinstateConfirmation": { + "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" + }, + "reinstated": { + "message": "The subscription has been reinstated." + }, + "cancelConfirmation": { + "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." + }, + "canceledSubscription": { + "message": "The subscription has been canceled." + }, + "neverExpires": { + "message": "Utløper aldri" + }, + "status": { + "message": "Status" + }, + "nextCharge": { + "message": "Next Charge" + }, + "details": { + "message": "Detaljer" + }, + "downloadLicense": { + "message": "Download License" + }, + "updateLicense": { + "message": "Update License" + }, + "updatedLicense": { + "message": "Updated license" + }, + "manageSubscription": { + "message": "Manage Subscription" + }, + "storage": { + "message": "Storage" + }, + "addStorage": { + "message": "Add Storage" + }, + "removeStorage": { + "message": "Remove Storage" + }, + "subscriptionStorage": { + "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", + "placeholders": { + "max_storage": { + "content": "$1", + "example": "4" + }, + "used_storage": { + "content": "$2", + "example": "65 MB" + } + } + }, + "paymentMethod": { + "message": "Payment Method" + }, + "noPaymentMethod": { + "message": "No payment method on file." + }, + "addPaymentMethod": { + "message": "Add Payment Method" + }, + "changePaymentMethod": { + "message": "Change Payment Method" + }, + "charges": { + "message": "Charges", + "description": "Credit card charges\/payments." + }, + "noCharges": { + "message": "No charges." + }, + "chargesStatement": { + "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", + "placeholders": { + "statement_name": { + "content": "$1", + "example": "BITWARDEN" + } + } + }, + "gbStorageAdd": { + "message": "GB of Storage To Add" + }, + "gbStorageRemove": { + "message": "GB of Storage To Remove" + }, + "storageAddNote": { + "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + }, + "storageRemoveNote": { + "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + }, + "adjustedStorage": { + "message": "Adjusted $AMOUNT$ GB of storage.", + "placeholders": { + "amount": { + "content": "$1", + "example": "5" + } + } + }, + "contactSupport": { + "message": "Contact Customer Support" + }, + "contactSupportPaymentMethod": { + "message": "If you would like to change from this payment method please contact customer support." + }, + "updatedPaymentMethod": { + "message": "Updated payment method." + }, + "purchasePremium": { + "message": "Purchase Premium" + }, + "licenseFile": { + "message": "License File" + }, + "licenseFileDesc": { + "message": "Your license file will be named something like $FILE_NAME$", + "placeholders": { + "file_name": { + "content": "$1", + "example": "bitwarden_premium_license.json" + } + } + }, + "uploadLicenseFilePremium": { + "message": "To upgrade your account to a premium membership you need to upload a valid license file." + }, + "uploadLicenseFileOrg": { + "message": "To create an on-premise hosted organization you need to upload a valid license file." + }, + "accountEmailMustBeVerified": { + "message": "Your account's email address must be verified." + }, + "newOrganizationDesc": { + "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." + }, + "generalInformation": { + "message": "General Information" + }, + "organizationName": { + "message": "Organization Name" + }, + "accountOwnedBusiness": { + "message": "This account is owned by a business." + }, + "billingEmail": { + "message": "Billing Email" + }, + "businessName": { + "message": "Business Name" + }, + "chooseYourPlan": { + "message": "Choose Your Plan" + }, + "users": { + "message": "Users" + }, + "userSeats": { + "message": "User Seats" + }, + "additionalUserSeats": { + "message": "Additional User Seats" + }, + "userSeatsDesc": { + "message": "# of user seats" + }, + "userSeatsAdditionalDesc": { + "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user \/month.", + "placeholders": { + "base_seats": { + "content": "$1", + "example": "5" + }, + "seat_price": { + "content": "$2", + "example": "$2.00" + } + } + }, + "userSeatsHowManyDesc": { + "message": "How many user seats do you need? You can also add additional seats later if needed." + }, + "planNameFree": { + "message": "Free" + }, + "planDescFree": { + "message": "For testing or personal users to share with $COUNT$ other user.", + "placeholders": { + "count": { + "content": "$1", + "example": "1" + } + } + }, + "planNameFamilies": { + "message": "Families" + }, + "planDescFamilies": { + "message": "For personal use, to share with family & friends." + }, + "planNameTeams": { + "message": "Teams" + }, + "planDescTeams": { + "message": "For businesses and other team organizations." + }, + "planNameEnterprise": { + "message": "Enterprise" + }, + "planDescEnterprise": { + "message": "For businesses and other large organizations." + }, + "freeForever": { + "message": "Free Forever" + }, + "includesXUsers": { + "message": "includes $COUNT$ users", + "placeholders": { + "count": { + "content": "$1", + "example": "5" + } + } + }, + "additionalUsers": { + "message": "Additional Users" + }, + "costPerUser": { + "message": "$COST$ per user", + "placeholders": { + "cost": { + "content": "$1", + "example": "$3" + } + } + }, + "limitedUsers": { + "message": "Limited to $COUNT$ users (including you)", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "limitedCollections": { + "message": "Limited to $COUNT$ collections", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "addShareLimitedUsers": { + "message": "Add and share with up to $COUNT$ users", + "placeholders": { + "count": { + "content": "$1", + "example": "5" + } + } + }, + "addShareUnlimitedUsers": { + "message": "Add and share with unlimited users" + }, + "createUnlimitedCollections": { + "message": "Create unlimited collections" + }, + "gbEncryptedFileStorage": { + "message": "$SIZE$ encrypted file storage", + "placeholders": { + "size": { + "content": "$1", + "example": "1 GB" + } + } + }, + "onPremHostingOptional": { + "message": "On-premise hosting (optional)" + }, + "controlAccessWithGroups": { + "message": "Control user access with groups" + }, + "syncUsersFromDirectory": { + "message": "Sync your users and groups from a directory" + }, + "trackAuditLogs": { + "message": "Track user actions with audit logs" + }, + "enforce2faDuo": { + "message": "Enforce 2FA with Duo" + }, + "priorityCustomerSupport": { + "message": "Priority customer support" + }, + "xDayFreeTrial": { + "message": "$COUNT$ day free trial, cancel anytime", + "placeholders": { + "count": { + "content": "$1", + "example": "7" + } + } + }, + "monthly": { + "message": "Monthly" + }, + "annually": { + "message": "Annually" + }, + "basePrice": { + "message": "Base Price" + }, + "organizationCreated": { + "message": "Organization Created" + }, + "organizationReadyToGo": { + "message": "Your new organization is ready to go!" + }, + "leave": { + "message": "Leave" + }, + "leaveOrganizationConfirmation": { + "message": "Are you sure you want to leave this organization?" + }, + "leftOrganization": { + "message": "You have left the organization." + }, + "defaultCollection": { + "message": "Default Collection" + }, + "getHelp": { + "message": "Get Help" + }, + "getApps": { + "message": "Get the Apps" + }, + "loggedInAs": { + "message": "Logged in as" + }, + "eventLogs": { + "message": "Event Logs" + }, + "people": { + "message": "People" + }, + "groups": { + "message": "Groups" + }, + "newGroup": { + "message": "New Group" + }, + "addGroup": { + "message": "Add Group" + }, + "editGroup": { + "message": "Edit Group" + }, + "deleteGroupConfirmation": { + "message": "Are you sure you want to delete this group?" + }, + "removeUserConfirmation": { + "message": "Are you sure you want to remove this user?" + }, + "externalId": { + "message": "External Id" + }, + "externalIdGroupDesc": { + "message": "The external id is used to link this group to an external system such as a user directory." + }, + "accessControl": { + "message": "Access Control" + }, + "groupAccessAllItems": { + "message": "This group can access and modify all items." + }, + "groupAccessSelectedCollections": { + "message": "This group can access only the selected collections." + }, + "readOnly": { + "message": "Read Only" + }, + "newCollection": { + "message": "New Collection" + }, + "addCollection": { + "message": "Add Collection" + }, + "editCollection": { + "message": "Edit Collection" + }, + "deleteCollectionConfirmation": { + "message": "Are you sure you want to delete this collection?" + }, + "editUser": { + "message": "Edit User" + }, + "inviteUser": { + "message": "Invite User" + }, + "inviteUserDesc": { + "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "inviteMultipleEmailDesc": { + "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", + "placeholders": { + "count": { + "content": "$1", + "example": "20" + } + } + }, + "userAccessAllItems": { + "message": "This user can access and modify all items." + }, + "userAccessSelectedCollections": { + "message": "This user can access only the selected collections." + }, + "search": { + "message": "Search" + }, + "invited": { + "message": "Invited" + }, + "accepted": { + "message": "Accepted" + }, + "confirmed": { + "message": "Confirmed" + }, + "owner": { + "message": "Owner" + }, + "ownerDesc": { + "message": "The highest access user that can manage all aspects of your organization." + }, + "admin": { + "message": "Admin" + }, + "adminDesc": { + "message": " Admins can access and manage all items, collections and users in your organization." + }, + "user": { + "message": "User" + }, + "userDesc": { + "message": "A regular user with access to your organization's collections." + }, + "all": { + "message": "All" + }, + "refresh": { + "message": "Refresh" + }, + "timestamp": { + "message": "Timestamp" + }, + "event": { + "message": "Event" + }, + "unknown": { + "message": "Unknown" + }, + "loadMore": { + "message": "Load More" + }, + "mobile": { + "message": "Mobile", + "description": "Mobile app" + }, + "extension": { + "message": "Extension", + "description": "Browser extension\/addon" + }, + "desktop": { + "message": "Desktop", + "description": "Desktop app" + }, + "webVault": { + "message": "Web Vault" + }, + "loggedIn": { + "message": "Logged in." + }, + "changedPassword": { + "message": "Changed account password." + }, + "enabled2fa": { + "message": "Enabled two-step login." + }, + "disabled2fa": { + "message": "Disabled two-step login." + }, + "recovered2fa": { + "message": "Recovered account from two-step login." + }, + "failedLogin": { + "message": "Login attempt failed with incorrect password." + }, + "failedLogin2fa": { + "message": "Login attempt failed with incorrect two-step login." + }, + "editedOrgSettings": { + "message": "Edited organization settings." + }, + "createdItemId": { + "message": "Created item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "editedItemId": { + "message": "Edited item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "deletedItemId": { + "message": "Deleted item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "sharedItemId": { + "message": "Shared item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "'Google'" + } + } + }, + "createdCollectionId": { + "message": "Created collection $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Server Passwords" + } + } + }, + "editedCollectionId": { + "message": "Edited collection $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Server Passwords" + } + } + }, + "deletedCollectionId": { + "message": "Deleted collection $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Server Passwords" + } + } + }, + "createdGroupId": { + "message": "Created group $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Developers" + } + } + }, + "editedGroupId": { + "message": "Edited group $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Developers" + } + } + }, + "deletedGroupId": { + "message": "Deleted group $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Developers" + } + } + }, + "removedUserId": { + "message": "Removed user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "createdAttachmentForItem": { + "message": "Created attachment for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "deletedAttachmentForItem": { + "message": "Deleted attachment for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "editedCollectionsForItem": { + "message": "Edited collections for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "invitedUserId": { + "message": "Invited user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "confirmedUserId": { + "message": "Confirmed user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "editedUserId": { + "message": "Edited user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "editedGroupsForUser": { + "message": "Edited groups for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "device": { + "message": "Device" + }, + "view": { + "message": "View" + }, + "invalidDateRange": { + "message": "Invalid date range." + }, + "errorOccurred": { + "message": "An error has occurred." + }, + "userAccess": { + "message": "User Access" + }, + "userType": { + "message": "User Type" + }, + "groupAccess": { + "message": "Group Access" + }, + "groupAccessUserDesc": { + "message": "Edit the groups that this user belongs to." + }, + "invitedUsers": { + "message": "Invited user(s)." + }, + "resendInvitation": { + "message": "Resend Invitation" + }, + "hasBeenReinvited": { + "message": "$USER$ has been reinvited.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "confirm": { + "message": "Confirm" + }, + "hasBeenConfirmed": { + "message": "$USER$ has been confirmed.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "startDate": { + "message": "Start Date" + }, + "endDate": { + "message": "End Date" + }, + "verifyEmail": { + "message": "Verify Email" + }, + "verifyEmailDesc": { + "message": "Verify your account's email address to unlock access to all features." + }, + "verifyEmailFirst": { + "message": "Your account's email address first must be verified." + }, + "checkInboxForVerification": { + "message": "Check your email inbox for a verification link." + }, + "emailVerified": { + "message": "Your email has been verified." + }, + "emailVerifiedFailed": { + "message": "Unable to verify your email. Try sending a new verification email." + }, + "updateBrowser": { + "message": "Update Browser" + }, + "updateBrowserDesc": { + "message": "You are using an unsupported web browser. The web vault may not function properly." + }, + "joinOrganization": { + "message": "Join Organization" + }, + "joinOrganizationDesc": { + "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "inviteAccepted": { + "message": "Invitation Accepted" + }, + "inviteAcceptedDesc": { + "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + }, + "inviteAcceptFailed": { + "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + }, + "rememberEmail": { + "message": "Remember email" + }, + "recoverAccountTwoStepDesc": { + "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." + }, + "recoverAccountTwoStep": { + "message": "Recover Account Two-Step Login" + }, + "twoStepRecoverDisabled": { + "message": "Two-step login has been disabled on your account." + }, + "learnMore": { + "message": "Learn more" + }, + "deleteRecoverDesc": { + "message": "Enter your email address below to recover and delete your account." + }, + "deleteRecoverEmailSent": { + "message": "If your account exists, we've sent you an email with further instructions." + }, + "deleteRecoverConfirmDesc": { + "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." + }, + "myOrganization": { + "message": "My Organization" + }, + "deleteOrganization": { + "message": "Delete Organization" + }, + "deleteOrganizationDesc": { + "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + }, + "deleteOrganizationWarning": { + "message": "Deleting the organization is permanent. It cannot be undone." + }, + "organizationDeleted": { + "message": "Organization Deleted" + }, + "organizationDeletedDesc": { + "message": "The organization and all associated data has been deleted." + }, + "organizationUpdated": { + "message": "Organization updated" + }, + "taxInformation": { + "message": "Tax Information" + }, + "taxInformationDesc": { + "message": "Please contact support to provide (or update) tax information for your invoices." + }, + "billingPlan": { + "message": "Plan", + "description": "A billing plan\/package. For example: families, teams, enterprise, etc." + }, + "changeBillingPlan": { + "message": "Change Plan", + "description": "A billing plan\/package. For example: families, teams, enterprise, etc." + }, + "changeBillingPlanDesc": { + "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", + "description": "A billing plan\/package. For example: families, teams, enterprise, etc." + }, + "invoice": { + "message": "Invoice" + }, + "verifyBankAccount": { + "message": "Verify Bank Account" + }, + "verifyBankAccountDesc": { + "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." + }, + "verifyBankAccountInitialDesc": { + "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." + }, + "verifyBankAccountFailureWarning": { + "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." + }, + "verifiedBankAccount": { + "message": "Bank account has been verified." + }, + "bankAccount": { + "message": "Bank Account" + }, + "amountX": { + "message": "Amount $COUNT$", + "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", + "placeholders": { + "count": { + "content": "$1", + "example": "1" + } + } + }, + "routingNumber": { + "message": "Routing Number", + "description": "Bank account routing number" + }, + "accountNumber": { + "message": "Account Number" + }, + "accountHolderName": { + "message": "Account Holder Name" + }, + "bankAccountType": { + "message": "Account Type" + }, + "bankAccountTypeCompany": { + "message": "Company (Business)" + }, + "bankAccountTypeIndividual": { + "message": "Individual (Personal)" + }, + "enterInstallationId": { + "message": "Enter your installation id" + }, + "addSeats": { + "message": "Add Seats", + "description": "Seat = User Seat" + }, + "removeSeats": { + "message": "Remove Seats", + "description": "Seat = User Seat" + }, + "subscriptionUserSeats": { + "message": "Your subscription allows for a total of $COUNT$ users.", + "placeholders": { + "count": { + "content": "$1", + "example": "50" + } + } + }, + "seatsToAdd": { + "message": "Seats To Add" + }, + "seatsToRemove": { + "message": "Seats To Remove" + }, + "seatsAddNote": { + "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + }, + "seatsRemoveNote": { + "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + }, + "adjustedSeats": { + "message": "Adjusted $AMOUNT$ user seats.", + "placeholders": { + "amount": { + "content": "$1", + "example": "15" + } + } + }, + "keyUpdated": { + "message": "Key Updated" + }, + "updateKeyTitle": { + "message": "Update Key" + }, + "updateEncryptionKey": { + "message": "Update Encryption Key" + }, + "updateEncryptionKeyShortDesc": { + "message": "You are currently using an outdated encryption scheme." + }, + "updateEncryptionKeyDesc": { + "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." + }, + "updateEncryptionKeyWarning": { + "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + }, + "subscription": { + "message": "Subscription" + }, + "loading": { + "message": "Loading" + }, + "upgrade": { + "message": "Upgrade" + }, + "upgradeOrganization": { + "message": "Upgrade Organization" + }, + "upgradeOrganizationDesc": { + "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + }, + "createOrganizationStep1": { + "message": "Create Organization: Step 1" + }, + "createOrganizationCreatePersonalAccount": { + "message": "Before creating your organization, you first need to create a free personal account." + }, + "refunded": { + "message": "Refunded" + }, + "nothingSelected": { + "message": "You have not selected anything." + }, + "submitAgreePolicies": { + "message": "By clicking the \"Submit\" button, you agree to the following policies:", + "description": "A policy is something like Terms of Service, Privacy Policy, etc." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" + }, + "filters": { + "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" + } +} \ No newline at end of file diff --git a/locales/pl/messages.json b/locales/pl/messages.json index 7c524c9f..304b9e61 100644 --- a/locales/pl/messages.json +++ b/locales/pl/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Website Icons provide a recognizable image next to each login item in your vault." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Default" }, @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/pt_BR/messages.json b/locales/pt_BR/messages.json index 8bc4ecf4..bfb4617d 100644 --- a/locales/pt_BR/messages.json +++ b/locales/pt_BR/messages.json @@ -862,7 +862,7 @@ "message": "Desautorizar Sessões" }, "deauthorizeSessionsDesc": { - "message": "Preocupado por ter sessão iniciada em outro dispositivo? Prossiga abaixo para desautorizar todos os computadores e dispositivos que tenha usado. Esta medida de segurança é recomendada se usou um PC público ou guardou acidentalmente a sua senha num dispositivo que não lhe pertence. Esta ação também apagará todas as sessões anteriores registadas iniciadas com duas etapas." + "message": "Preocupado por ter iniciado a sessão em outro dispositivo? Prossiga abaixo para desautorizar todos os computadores e dispositivos que tenha usado. Esta medida de segurança é recomendada se usou um PC público ou guardou acidentalmente a sua senha num dispositivo que não lhe pertence. Esta ação também apagará todas as sessões anteriores registadas iniciadas com duas etapas." }, "deauthorizeSessionsWarning": { "message": "O processo também desconectará você da sua sessão atual, exigindo que você inicie a sessão novamente. Você também será solicitado a efetuar login em duas etapas novamente, se estiver ativado. Sessões ativas em outros dispositivos podem continuar ativas por até uma hora." @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "O ícone do site fornece um ícone reconhecível ao lado de cada crendencial no seu cofre." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Padrão" }, @@ -1464,7 +1471,7 @@ "message": "A remoção do armazenamento resultará em ajustes no valor total da fatura que serão divididos em sua próxima cobrança de faturamento." }, "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", + "message": "Ajustado $AMOUNT$ GB de armazenamento.", "placeholders": { "amount": { "content": "$1", @@ -1473,10 +1480,10 @@ } }, "contactSupport": { - "message": "Contact Customer Support" + "message": "Contato com o Suporte ao Cliente" }, "contactSupportPaymentMethod": { - "message": "If you would like to change from this payment method please contact customer support." + "message": "Se você quiser alterar este método de pagamento, entre em contato com o suporte ao cliente." }, "updatedPaymentMethod": { "message": "Atualizar forma de pagamento." @@ -1488,7 +1495,7 @@ "message": "Arquivo de Licença" }, "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", + "message": "Seu arquivo de licença terá o nome de algo como $FILE_NAME$", "placeholders": { "file_name": { "content": "$1", @@ -1497,25 +1504,25 @@ } }, "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." + "message": "Para atualizar sua conta para uma assinatura premium, você precisa fazer o upload de um arquivo de licença válido." }, "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." + "message": "Para criar uma organização hospedada localmente, você precisa fazer o upload de um arquivo de licença válido." }, "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." + "message": "O endereço de e-mail da sua conta deve ser verificado." }, "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." + "message": "As organizações permitem que você compartilhe partes do seu cofre com outras pessoas, além de gerenciar usuários relacionados para uma entidade específica, como uma família, uma equipe pequena ou uma empresa grande." }, "generalInformation": { - "message": "General Information" + "message": "Informação Geral" }, "organizationName": { - "message": "Organization Name" + "message": "Nome da Organização" }, "accountOwnedBusiness": { - "message": "This account is owned by a business." + "message": "Esta conta pertence a uma empresa." }, "billingEmail": { "message": "E-mail de Cobrança" @@ -1530,16 +1537,16 @@ "message": "Usuários" }, "userSeats": { - "message": "User Seats" + "message": "Assentos de Usuário" }, "additionalUserSeats": { - "message": "Additional User Seats" + "message": "Assentos de Usuário Adicionais" }, "userSeatsDesc": { - "message": "# of user seats" + "message": "# de assentos de usuário" }, "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user \/month.", + "message": "O seu plano vem com assentos de usuário de $BASE_SEATS$. Você pode adicionar mais usuários por $SEAT_PRICE$ por usuário \/mês.", "placeholders": { "base_seats": { "content": "$1", @@ -1552,13 +1559,13 @@ } }, "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." + "message": "Quanto mais assentos de usuário você precisa? Você também pode adicionar mais assentos depois, se necessário." }, "planNameFree": { "message": "Grátis" }, "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", + "message": "Para usuários de testes ou pessoais para compartilhar com $COUNT$ outro usuário.", "placeholders": { "count": { "content": "$1", @@ -1609,7 +1616,7 @@ } }, "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", + "message": "Limitado a $COUNT$ usuários (incluindo você)", "placeholders": { "count": { "content": "$1", @@ -1618,7 +1625,7 @@ } }, "limitedCollections": { - "message": "Limited to $COUNT$ collections", + "message": "Limitado a $COUNT$ coleções", "placeholders": { "count": { "content": "$1", @@ -1627,7 +1634,7 @@ } }, "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", + "message": "Adicione e compartilhe com até $COUNT$ usuários", "placeholders": { "count": { "content": "$1", @@ -1636,13 +1643,13 @@ } }, "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" + "message": "Adicione e compartilhe com usuários ilimitados" }, "createUnlimitedCollections": { - "message": "Create unlimited collections" + "message": "Crie coleções ilimitadas" }, "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", + "message": "$SIZE$ de armazenamento encriptado", "placeholders": { "size": { "content": "$1", @@ -1651,25 +1658,25 @@ } }, "onPremHostingOptional": { - "message": "On-premise hosting (optional)" + "message": "Hospedagem Local (opcional)" }, "controlAccessWithGroups": { - "message": "Control user access with groups" + "message": "Controle o acesso do usuário com grupos" }, "syncUsersFromDirectory": { - "message": "Sync your users and groups from a directory" + "message": "Sincronize seus usuários e grupos de um diretório" }, "trackAuditLogs": { - "message": "Track user actions with audit logs" + "message": "Acompanhe as ações do usuário com os registros de auditoria" }, "enforce2faDuo": { - "message": "Enforce 2FA with Duo" + "message": "Reforçar o 2FA com o Duo" }, "priorityCustomerSupport": { - "message": "Priority customer support" + "message": "Suporte prioritário ao cliente" }, "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", + "message": "Avaliação gratuita de $COUNT$ dia(s), cancele a qualquer momento", "placeholders": { "count": { "content": "$1", @@ -1696,10 +1703,10 @@ "message": "Sair" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "Você tem certeza que deseja sair desta organização?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "Você saiu da organização." }, "defaultCollection": { "message": "Coleção Padrão" @@ -1708,10 +1715,10 @@ "message": "Obter Ajuda" }, "getApps": { - "message": "Get the Apps" + "message": "Obtenha os Aplicativos" }, "loggedInAs": { - "message": "Logged in as" + "message": "Sessão iniciada como" }, "eventLogs": { "message": "Registro de Eventos" @@ -1732,25 +1739,25 @@ "message": "Editar Grupo" }, "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" + "message": "Você tem certeza que deseja excluir este grupo?" }, "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" + "message": "Você tem certeza que deseja remover este(a) usuário(a)?" }, "externalId": { - "message": "External Id" + "message": "ID externa" }, "externalIdGroupDesc": { - "message": "The external id is used to link this group to an external system such as a user directory." + "message": "O ID externo é usado para vincular esse grupo a um sistema externo, como um diretório de usuários." }, "accessControl": { "message": "Controle de Acesso" }, "groupAccessAllItems": { - "message": "This group can access and modify all items." + "message": "Este grupo pode acessar e modificar todos os itens." }, "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." + "message": "Este grupo pode acessar apenas as coleções selecionadas." }, "readOnly": { "message": "Somente Leitura" @@ -1765,7 +1772,7 @@ "message": "Editar Coleção" }, "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" + "message": "Você tem certeza que deseja excluir esta coleção?" }, "editUser": { "message": "Editar Usuário" @@ -1774,10 +1781,10 @@ "message": "Convidar Usuário" }, "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + "message": "Convide um novo usuário para sua organização digitando o endereço de e-mail da conta Bitwarden dele abaixo. Se ele não tiver uma conta no Bitwarden, ele será solicitado a criar uma nova conta." }, "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", + "message": "Você pode convidar até $COUNT$ usuários por vez. Utilize a vírgula para separar uma lista de endereços de e-mail.", "placeholders": { "count": { "content": "$1", @@ -1786,40 +1793,40 @@ } }, "userAccessAllItems": { - "message": "This user can access and modify all items." + "message": "Este usuário pode acessar e modificar todos os itens." }, "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." + "message": "Este usuário pode acessar apenas as coleções selecionadas." }, "search": { "message": "Pesquisar" }, "invited": { - "message": "Invited" + "message": "Convindado" }, "accepted": { - "message": "Accepted" + "message": "Aceitado" }, "confirmed": { - "message": "Confirmed" + "message": "Confirmado" }, "owner": { - "message": "Owner" + "message": "Proprietário" }, "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." + "message": "O maior usuário de acesso que pode gerenciar todos os aspectos da sua organização." }, "admin": { - "message": "Admin" + "message": "Administrador" }, "adminDesc": { - "message": " Admins can access and manage all items, collections and users in your organization." + "message": " Os administradores podem acessar e gerenciar todos os itens, coleções e usuários em sua organização." }, "user": { "message": "Usuário" }, "userDesc": { - "message": "A regular user with access to your organization's collections." + "message": "Um usuário comum com acesso às coleções da sua organização." }, "all": { "message": "Todos" @@ -1867,7 +1874,7 @@ "message": "Desabilitar login em duas etapas." }, "recovered2fa": { - "message": "Recovered account from two-step login." + "message": "Conta recuperada do login em duas etapas." }, "failedLogin": { "message": "Falha na tentativa de login com senha incorreta." @@ -2062,7 +2069,7 @@ "message": "Grupo de Acesso" }, "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." + "message": "Edite os grupos aos quais este usuário pertence." }, "invitedUsers": { "message": "Usuário(a)(s) convidado(a)(s)." @@ -2071,7 +2078,7 @@ "message": "Reenviar o Convite" }, "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", + "message": "$USER$ foi convidado(a).", "placeholders": { "user": { "content": "$1", @@ -2083,7 +2090,7 @@ "message": "Confirmar" }, "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", + "message": "$USER$ foi confirmado(a).", "placeholders": { "user": { "content": "$1", @@ -2101,10 +2108,10 @@ "message": "Verificar E-mail" }, "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." + "message": "Confirme o endereço de e-mail da sua conta para desbloquear o acesso a todos os recursos." }, "verifyEmailFirst": { - "message": "Your account's email address first must be verified." + "message": "Primeiro, o endereço de e-mail da sua conta precisa ser confirmado." }, "checkInboxForVerification": { "message": "Verifique sua caixa de entrada do e-mail para obter o código de verificação." @@ -2113,52 +2120,52 @@ "message": "O seu e-mail foi verificado." }, "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." + "message": "Não é possível confirmar o seu e-mail. Tente enviar um novo e-mail de verificação." }, "updateBrowser": { "message": "Atualizar Navegador" }, "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." + "message": "Você está usando um navegador da Web não suportado. O cofre web pode não funcionar corretamente." }, "joinOrganization": { "message": "Junte-se a Organização" }, "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Você foi convidado para participar da organização listada acima. Para aceitar o convite, você precisa iniciar sessão ou criar uma nova conta no Bitwarden." }, "inviteAccepted": { "message": "Convite Aceito" }, "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + "message": "Você pode acessar essa organização quando um administrador confirmar sua associação. Enviaremos um e-mail quando isso acontecer." }, "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + "message": "Não é possível aceitar o convite. Peça a um administrador da organização para enviar um novo convite." }, "rememberEmail": { "message": "Lembrar e-mail" }, "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." + "message": "Se você não puder acessar sua conta por meio de seus métodos normais de login em duas etapas, poderá usar seu código de recuperação de login em duas etapas para desativar a funcionalidade de duas etapas da sua conta." }, "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" + "message": "Recuperar login em duas etapas da conta" }, "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." + "message": "O login em duas etapas foi desativado em sua conta." }, "learnMore": { "message": "Saiba mais" }, "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." + "message": "Insira seu endereço de e-mail abaixo para recuperar e excluir sua conta." }, "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." + "message": "Se a sua conta existir, enviamos um e-mail para você com mais instruções." }, "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." + "message": "Você pediu para excluir a sua conta no Bitwarden. Clique no botão abaixo para confirmar." }, "myOrganization": { "message": "Minha Organização" @@ -2167,16 +2174,16 @@ "message": "Excluir Organização" }, "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + "message": "Continue abaixo para excluir esta organização e todos os dados associados. As contas de usuários individuais permanecerão, embora elas não serão mais associadas a essa organização. " }, "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." + "message": "A exclusão da organização é permanente. Não pode ser desfeita." }, "organizationDeleted": { "message": "Organização Excluida" }, "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." + "message": "A organização e todos os dados associados foram excluídos." }, "organizationUpdated": { "message": "Organização atualizada" @@ -2185,7 +2192,7 @@ "message": "Informações de Impostos" }, "taxInformationDesc": { - "message": "Please contact support to provide (or update) tax information for your invoices." + "message": "Entre em contato com o suporte para fornecer (ou atualizar) informações fiscais para as suas faturas." }, "billingPlan": { "message": "Plano", @@ -2196,7 +2203,7 @@ "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", + "message": "Entre em contato com o suporte ao cliente se deseja alterar o seu plano. Por favor, verifique se você tem um método de pagamento ativo adicionado à conta.", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "invoice": { @@ -2250,18 +2257,18 @@ "message": "Individual (Pessoal)" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "Insira o seu ID de instalação" }, "addSeats": { - "message": "Add Seats", + "message": "Adicionar Assentos", "description": "Seat = User Seat" }, "removeSeats": { - "message": "Remove Seats", + "message": "Remover Assentos", "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", + "message": "Sua assinatura permite um total de $COUNT$ usuários.", "placeholders": { "count": { "content": "$1", @@ -2270,19 +2277,19 @@ } }, "seatsToAdd": { - "message": "Seats To Add" + "message": "Assentos Para Adicionar" }, "seatsToRemove": { - "message": "Seats To Remove" + "message": "Assentos Para Remover" }, "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + "message": "A adição de assentos de usuário resultará em ajustes no total da cobrança, e será cobrada imediatamente pela sua forma de pagamento registrada. A primeira cobrança será rateada pelo restante do ciclo do faturamento atual." }, "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "A remoção dos assentos de usuário resultará em ajustes no total do faturamento, que será rateado como crédito para sua próxima cobrança." }, "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", + "message": "Ajustado $AMOUNT$ assentos de usuário.", "placeholders": { "amount": { "content": "$1", @@ -2297,19 +2304,19 @@ "message": "Atualizar Chave" }, "updateEncryptionKey": { - "message": "Update Encryption Key" + "message": "Atualizar Chave de Criptografia" }, "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." + "message": "Você está usando atualmente um esquema de criptografia desatualizado." }, "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." + "message": "Passamos para chaves de criptografia maiores, que oferecem melhor segurança e acesso a recursos mais recentes. Atualizar sua chave de criptografia é rápido e fácil. Basta inserir sua senha mestra abaixo. Esta atualização eventualmente se tornará obrigatória." }, "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + "message": "Depois de atualizar sua chave de criptografia, é necessário encerrar e iniciar a sessão em todos os aplicativos do Bitwarden que você está usando atualmente (como o aplicativo móvel ou as extensões do navegador). Não encerrar e iniciar sessão (que baixa sua nova chave de criptografia) pode resultar em corrupção de dados. Nós tentaremos desconectá-lo automaticamente, mas isso pode demorar um pouco." }, "subscription": { - "message": "Subscription" + "message": "Assinatura" }, "loading": { "message": "Carregando" @@ -2321,31 +2328,66 @@ "message": "Atualizar Organização" }, "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + "message": "Este recurso não está disponível para organizações gratuitas. Mude para um plano pago para desbloquear mais recursos." }, "createOrganizationStep1": { - "message": "Create Organization: Step 1" + "message": "Criar Organização: Passo 1" }, "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." + "message": "Antes de criar sua organização, primeiro você precisa criar uma conta pessoal gratuita." }, "refunded": { - "message": "Refunded" + "message": "Reembolsado" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "Você selecionou nada." }, "submitAgreePolicies": { - "message": "By clicking the \"Submit\" button, you agree to the following policies:", + "message": "Ao clicar no botão \"Enviar\", você concorda com as seguintes políticas:", "description": "A policy is something like Terms of Service, Privacy Policy, etc." }, "termsOfService": { - "message": "Terms of Service" + "message": "Termos de Serviço" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "Política de Privacidade" }, "filters": { - "message": "Filters" + "message": "Filtros" + }, + "lockOptions": { + "message": "Opções de Bloqueio" + }, + "lockOptionsDesc": { + "message": "Escolha quando o seu cofre bloqueia. Um cofre bloqueado requer que você reinsira a sua senha mestra para entrar novamente." + }, + "oneMinute": { + "message": "1 minuto" + }, + "fiveMinutes": { + "message": "5 minutos" + }, + "fifteenMinutes": { + "message": "15 minutos" + }, + "thirtyMinutes": { + "message": "30 minutos" + }, + "oneHour": { + "message": "1 hora" + }, + "fourHours": { + "message": "4 horas" + }, + "onRefresh": { + "message": "Quando Reiniciar o Navegador" + }, + "dateUpdated": { + "message": "Atualizado", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Senha Atualizada", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/pt_PT/messages.json b/locales/pt_PT/messages.json index 728bc8f6..b70f3460 100644 --- a/locales/pt_PT/messages.json +++ b/locales/pt_PT/messages.json @@ -41,7 +41,7 @@ "message": "Notas" }, "customFields": { - "message": "Campos personalizados" + "message": "Campos Personalizados" }, "cardholderName": { "message": "Titular do Cartão" @@ -65,10 +65,10 @@ "message": "Empresa" }, "ssn": { - "message": "Número de segurança social" + "message": "Número de Segurança Social" }, "passportNumber": { - "message": "Número do passaporte" + "message": "Número do Passaporte" }, "licenseNumber": { "message": "Número da Licença" @@ -131,19 +131,19 @@ "message": "Dr" }, "expirationMonth": { - "message": "Mês de validade" + "message": "Mês de Validade" }, "expirationYear": { - "message": "Ano de validade" + "message": "Ano de Validade" }, "authenticatorKeyTotp": { - "message": "Chave do autenticador (TOTP)" + "message": "Chave do Autenticador (TOTP)" }, "folder": { "message": "Pasta" }, "newCustomField": { - "message": "Novo campo personalizado" + "message": "Novo Campo Personalizado" }, "value": { "message": "Valor" @@ -152,26 +152,26 @@ "message": "Texto" }, "cfTypeHidden": { - "message": "Ocultado" + "message": "Oculto" }, "cfTypeBoolean": { "message": "Booleano" }, "remove": { - "message": "Remover" + "message": "Eliminar" }, "unassigned": { - "message": "Não atribuido" + "message": "Não Atribuído" }, "noneFolder": { - "message": "Nenhuma pasta", + "message": "Nenhuma Pasta", "description": "This is the folder for uncategorized items" }, "addFolder": { - "message": "Adicionar pasta" + "message": "Adicionar Pasta" }, "editFolder": { - "message": "Alterar pasta" + "message": "Alterar Pasta" }, "baseDomain": { "message": "Domínio base" @@ -191,7 +191,7 @@ "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Deteção de correspondência", + "message": "Deteção de Correspondência", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { @@ -205,7 +205,7 @@ "message": "Alternar Visibilidade" }, "generatePassword": { - "message": "Gerar palavra-passe" + "message": "Gerar Palavra-passe" }, "checkPassword": { "message": "Verifica se a palavra-passe foi exposta." @@ -263,7 +263,7 @@ "message": "Pesquisar Cofre" }, "allItems": { - "message": "Todos os itens" + "message": "Todos os Itens" }, "favorites": { "message": "Favoritos" @@ -339,7 +339,7 @@ "description": "Short abbreviation for 'example'." }, "other": { - "message": "Outros" + "message": "Outro" }, "share": { "message": "Partilhar" @@ -385,16 +385,16 @@ "message": "Cofre" }, "shareSelected": { - "message": "Partilhar Selecionado" + "message": "Partilhar Seleção" }, "deleteSelected": { - "message": "Eliminar Selecionado" + "message": "Eliminar Seleção" }, "moveSelected": { - "message": "Mover Selecionado" + "message": "Mover Seleção" }, "selectAll": { - "message": "Selecionar Todos" + "message": "Selecionar Tudo" }, "unselectAll": { "message": "Desfazer Seleção" @@ -406,7 +406,7 @@ "message": "Adicionar Novo Anexo" }, "deletedAttachment": { - "message": "Anexo Eliminado" + "message": "Anexo eliminado" }, "deleteAttachmentConfirmation": { "message": "Tem a certeza de que deseja eliminar este anexo?" @@ -448,7 +448,7 @@ "message": "Eliminar Anexo" }, "deleteItemConfirmation": { - "message": "Tem a certeza de que pretende eliminar este item?" + "message": "Tem certeza que pretende eliminar este item?" }, "deletedItem": { "message": "Item eliminado" @@ -460,7 +460,7 @@ "message": "Itens movidos" }, "overwritePasswordConfirmation": { - "message": "Tem a certeza de que pretende sobrescrever a palavra-passe atual?" + "message": "Tem certeza que pretende sobrescrever a palavra-passe atual?" }, "editedFolder": { "message": "Pasta alterada" @@ -469,7 +469,7 @@ "message": "Pasta adicionada" }, "deleteFolderConfirmation": { - "message": "Tem certeza de que pretende eliminar esta pasta?" + "message": "Tem certeza que pretende eliminar esta pasta?" }, "deletedFolder": { "message": "Pasta eliminada" @@ -481,7 +481,7 @@ "message": "A sua sessão expirou." }, "logOutConfirmation": { - "message": "Tem a certeza de que pretende terminar a sessão?" + "message": "Tem certeza que pretende terminar a sessão?" }, "logOut": { "message": "Terminar sessão" @@ -502,13 +502,13 @@ "message": "Criar Conta" }, "logIn": { - "message": "Iniciar sessão" + "message": "Iniciar Sessão" }, "submit": { "message": "Submeter" }, "emailAddressDesc": { - "message": "Você vai usar seu endereço de email para iniciar sessão." + "message": "Você vai usar o seu endereço de email para iniciar sessão." }, "yourName": { "message": "O Seu Nome" @@ -571,10 +571,10 @@ "message": "Ocorreu um erro inesperado." }, "emailAddress": { - "message": "Endereço de email" + "message": "Endereço de Email" }, "yourVaultIsLocked": { - "message": "O seu cofre está bloqueado. Verifique a sua palavra-passe mestra para continuar." + "message": "O seu cofre está bloqueado. Confirme a sua palavra-passe mestra para continuar." }, "unlock": { "message": "Desbloquear" @@ -583,7 +583,7 @@ "message": "Palavra-passe mestra inválida" }, "lockNow": { - "message": "Bloquear agora" + "message": "Bloquear Agora" }, "noItemsInList": { "message": "Não existem itens para exibir." @@ -616,10 +616,10 @@ } }, "enterVerificationCodeApp": { - "message": "Introduza o código de verificação de 6 dígitos da sua aplicação de autenticação." + "message": "Introduza o código de confirmação de 6 dígitos da sua aplicação de autenticação." }, "enterVerificationCodeEmail": { - "message": "Introduza o código de verificação de 6 dígitos que foi enviado para o email $EMAIL$.", + "message": "Introduza o código de confirmação de 6 dígitos que foi enviado para o email $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -628,7 +628,7 @@ } }, "verificationCodeEmailSent": { - "message": "Email de verificação enviado para $EMAIL$.", + "message": "Email de confirmação enviado para $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -640,7 +640,7 @@ "message": "Memorizar-me" }, "sendVerificationCodeEmailAgain": { - "message": "Reenviar código de verificação" + "message": "Reenviar email com o código de confirmação" }, "useAnotherTwoStepMethod": { "message": "Utilizar outro método de início de sessão de dois passos" @@ -655,7 +655,7 @@ "message": "Início de sessão Indisponível" }, "noTwoStepProviders": { - "message": "Esta conta tem o início de sessão de dois passos ativado, no entanto, nenhum dos provedores de início de sessão de dois passos configurados são suportados por este navegador web." + "message": "Esta conta tem o início de sessão de dois passos ativado, no entanto, nenhum dos métodos de início de sessão de dois passos configurados são suportados por este navegador web." }, "noTwoStepProviders2": { "message": "Por favor utilize um navegador web suportado (tal como o Chrome) e\/ou adicione provedores adicionais que são melhor suportados entre navegadores web (tal como uma aplicação de autenticador)." @@ -664,20 +664,20 @@ "message": "Opções de início de sessão de dois passos" }, "recoveryCodeDesc": { - "message": "Perdeu o acesso a todos os seus provedores de dois passos? Utilize o seu código de recuperação para desativar todos os provedores de dois passos da sua conta." + "message": "Perdeu o acesso a todos os seus métodos de dois fatores? Utilize o seu código de recuperação para desativar todos os métodos de dois passos da sua conta." }, "recoveryCodeTitle": { "message": "Código de Recuperação" }, "authenticatorAppTitle": { - "message": "Aplicação de autenticação" + "message": "Aplicação de Autenticação" }, "authenticatorAppDesc": { "message": "Utilize uma aplicação de autenticação (tal como Authy ou Google Authenticator) para gerar códigos de verificação baseados na hora.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "Chave de segurança YubiKey OTP" + "message": "Chave de Segurança YubiKey OTP" }, "yubiKeyDesc": { "message": "Utilize uma YubiKey para aceder à sua conta. Funciona com YubiKey 4, 4 Nano, 4C, e dispositivos NEO." @@ -700,7 +700,7 @@ "message": "Email" }, "emailDesc": { - "message": "Os códigos de verificação vão ser enviados por email para si." + "message": "Os códigos de confirmação vão ser-lhe enviados por email." }, "continue": { "message": "Continuar" @@ -712,16 +712,16 @@ "message": "Organizações" }, "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." + "message": "Escolha uma organização com que queira partilhar este item. Partilhar transfere a propriedade do item para a organização. Uma vez transferido já não será o proprietário direto deste item." }, "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." + "message": "Escolha uma organização com que queira partilhar estes itens. Partilhar transfere a propriedade dos itens para a organização. Uma vez transferidos já não será o proprietário direto destes itens." }, "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." + "message": "Altere as coleções em que este item está a ser partilhado. Apenas utilizadores da organização com acesso a estas coleções podem ver este item." }, "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", + "message": "Selecionou $COUNT$ item(s) para eliminar. Tem certeza que quer eliminar todos estes itens?", "placeholders": { "count": { "content": "$1", @@ -730,7 +730,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", + "message": "Escolha a pasta para onde que mover o(s) $COUNT$ item(s) selecionado(s).", "placeholders": { "count": { "content": "$1", @@ -739,7 +739,7 @@ } }, "shareSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not. Items with attachments must be shared individually.", + "message": "Selecionou $COUNT$ item(s). $SHAREABLE_COUNT$ são partilháveis. $NONSHAREABLE_COUNT$ não são. Itens com anexos devem ser partilhados individualmente.", "placeholders": { "count": { "content": "$1", @@ -756,16 +756,16 @@ } }, "verificationCodeTotp": { - "message": "Código de Verificação (TOTP)" + "message": "Código de Confirmação (TOTP)" }, "copyVerificationCode": { - "message": "Copiar Código de Verificação" + "message": "Copiar Código de Confirmação" }, "warning": { "message": "Aviso" }, "exportWarning": { - "message": "This export contains your unencrypted data in .csv format. You should not store or send it over unsecure channels (such as email). Delete it immediately after your are done using it." + "message": "Esta exportação contém os seus dados desencriptados no formato .csv. Não a deve armazenar ou transmitir em vias inseguras (como email). Apague-a imediatamente após usá-la." }, "exportMasterPassword": { "message": "Introduza a sua palavra-passe mestra para exportar os dados do seu cofre." @@ -817,7 +817,7 @@ "message": "Código" }, "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize your the email address change.", + "message": "Enviámos um código de confirmação para $EMAIL$. Por favor verifique este código no seu email e introduza-o abaixo para finalizar a alteração de email.", "placeholders": { "email": { "content": "$1", @@ -826,7 +826,7 @@ } }, "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + "message": "Continuar encerrará a sessão atual, devendo voltar a iniciá-la. Sessões ativas em outros dispositivos podem continuar ativas por até uma hora." }, "emailChanged": { "message": "Email Alterado" @@ -841,7 +841,7 @@ "message": "Alterar Palavra-passe Mestra" }, "masterPasswordChanged": { - "message": "Palavra-passe Mestra Aterada" + "message": "Palavra-passe Mestra Alterada" }, "currentMasterPass": { "message": "Palavra-passe Mestra Atual" @@ -856,7 +856,7 @@ "message": "Zona Perigosa" }, "dangerZoneDesc": { - "message": "Cuidado, estas ações não são reversíveis!" + "message": "Cuidado, estas ações são irreversíveis!" }, "deauthorizeSessions": { "message": "Desautorizar Sessões" @@ -925,7 +925,7 @@ "message": "ou copie\/cole o seu conteúdo" }, "instructionsFor": { - "message": "Instruções $NAME$", + "message": "Instruções para $NAME$", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -955,14 +955,21 @@ "disableIconsDesc": { "message": "Os ícones dos sites adicionam uma imagem identificável junto a cada item de acesso no seu cofre." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { - "message": "Padrão" + "message": "Predefinido" }, "domainRules": { "message": "Regras de Domínio" }, "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." + "message": "Se tiver o mesmo início de sessão em sites de domínios diferentes, por marcar o site como \"equivalente\". Domínios \"globais\" são aqueles já criados para si pelo Bitwarden." }, "globalEqDomains": { "message": "Domínios Equivalentes Globais" @@ -983,7 +990,7 @@ "message": "Novo Domínio Personalizado" }, "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp:\/\/package.name\" to associate an android app with other website domains." + "message": "Introduza uma lista de domínios separados por vírgulas. Apenas são permitidos domínios \"base\". Por exemplo, introduza \"google.com\" em vez de \"www.google.com\". Pode também introduzir \"androidapp:\/\/package.name\" para associar uma aplicação android a outros domínios." }, "customDomainX": { "message": "Domínio Personalizado $INDEX$", @@ -995,19 +1002,19 @@ } }, "domainsUpdated": { - "message": "Domínio atualizado" + "message": "Domínios atualizados" }, "twoStepLogin": { - "message": "Acesso Dois-passos" + "message": "Início de sessão dois-passos" }, "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." + "message": "Reforce a segurança da sua conta exigindo um passo adicional para iniciar sessão." }, "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." + "message": "Exija início de sessão em dois passos para os utilizadores do sua organização configurando os métodos ao nível da organização." }, "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." + "message": "Ativar o início de sessão em dois passos pode impedir o acesso à sua conta Bitwarden. Um código de recuperação permite-lhe aceder à sua conta caso deixe de usar o seu método habitual de acesso em dois passos (p. ex., perde o seu dispositivo). O apoio do Bitwarden não o poderá ajudar se perder acesso à sua conta. Recomendamos que anote ou imprima o código de recuperação e mantenha-o em local seguro." }, "viewRecoveryCode": { "message": "Ver Código de Recuperação" @@ -1042,19 +1049,19 @@ "message": "Desativar" }, "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." + "message": "Este método de início de sessão em dois passos está ativo na sua conta." }, "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." + "message": "Introduza a sua palavra-passe mestra para modificar as definições do início de sessão em dois passos." }, "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" + "message": "Siga estes passos para ativar o início de sessão em dois passos com uma aplicação de autenticação:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" + "message": "Transfira uma aplicação de autenticação em dois passos" }, "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" + "message": "Precisa de uma aplicação de autenticação em dois passos? Transfira uma das seguintes" }, "iosDevices": { "message": "Dispositivos iOS" @@ -1066,34 +1073,34 @@ "message": "Dispositivos Windows" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "Estas aplicações são recomendadas, todavia outras também funcionarão." }, "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" + "message": "Digitalize este código QR com a sua aplicação de autenticação" }, "key": { "message": "Chave" }, "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" + "message": "Introduza o código de confirmação de 6 dígitos indicado pela app" }, "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." + "message": "No caso de precisar adicioná-lo a outro dispositivo, abaixo está o código QR (ou chave) necessário para a sua aplicação de autenticação." }, "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" + "message": "Tem certeza que deseja desativar este método de início de sessão em dois passos?" }, "twoStepDisabled": { - "message": "Two-step login provider disabled." + "message": "Método de início de sessão em dois passos desativado." }, "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" + "message": "Adicionar uma nova YubiKey à sua conta" }, "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey (NEO or 4 series) into your computer's USB port." + "message": "Ligue a YubiKey (NEO ou série 4) numa porta USB do seu computador." }, "twoFactorYubikeySelectKey": { - "message": "Select in the first empty YubiKey input field below." + "message": "Selecione abaixo no primeiro campo YubiKey vazio." }, "twoFactorYubikeyTouchButton": { "message": "Toque no botão da YubiKey." @@ -1102,16 +1109,16 @@ "message": "Guardar o formulário." }, "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" + "message": "Devido a limitações da plataforma, as YubiKeys não podem ser utilizadas em todas as aplicações Bitwarden. Deverá escolher outro método de início de sessão em dois passos quando as YubiKeys não puderem ser utilizadas. Plataformas suportadas:" }, "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." + "message": "Cofre web, aplicação para computador, CLI e todas as extensões de navegador num dispositivo com porta USB compatível com a sua YubiKey." }, "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." + "message": "Aplicações móveis num dispositivo com NFC ou porta USB compatível com a sua YubiKey." }, "yubikeyX": { - "message": "YubuKey $INDEX$", + "message": "YubiKey $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1126,7 +1133,7 @@ "message": "Uma das minhas chaves suporta NFC." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." + "message": "Se uma das suas YubiKeys suporta NFC (como a YubiKey NEO), ser-lhe-á pedida num dispositivo móvel sempre que a disponibilidade NFC seja detetada." }, "yubikeysUpdated": { "message": "YubiKeys atualizadas" @@ -1147,46 +1154,46 @@ "message": "Servidor API" }, "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" + "message": "Siga estes passos para ativar o início de sessão em dois passos com o email:" }, "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" + "message": "Introduza o email onde quer receber os códigos de confirmação" }, "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" + "message": "Introduza o código de confirmação de 6 dígitos indicado no email" }, "sendEmail": { "message": "Enviar Email" }, "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" + "message": "Adicione à sua conta uma chave de segurança FIDO U2F" }, "twoFactorU2fPlugIn": { - "message": "Plug the security key into your computer's USB port." + "message": "Ligue a chave de segurança numa porta USB do seu computador." }, "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." + "message": "Se a chave de segurança tiver um botão, toque-lhe." }, "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" + "message": "Devido a limitações da plataforma, FIDO U2F não pode ser utilizado em todas as aplicações Bitwarden. Deverá escolher outro método de início de sessão em dois passos quando FIDO U2F não puder ser utilizado. Plataformas suportadas:" }, "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop\/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." + "message": "Cofre web e extensões de navegador num computador com navegador compatível com U2F (Chrome, Opera, Vivaldi ou Firefox com FIDO U2F ativado)." }, "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" + "message": "A aguardar que toque no botão da sua chave de segurança" }, "twoFactorU2fClickEnable": { - "message": "Click the \"Enable\" button below to enable this security key for two-step login." + "message": "Clique no botão \"Ativar\" abaixo para ativar esta chave de segurança para o início de sessão em dois passos." }, "twoFactorU2fProblemReading": { - "message": "There was a problem reading the security key." + "message": "Ocorreu um problema ao ler a chave de segurança." }, "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" + "message": "O seu código Bitwarden de recuperação de início de sessão em dois passos" }, "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." + "message": "Ainda não ativou nenhum método de início de sessão em dois passos. Depois de o fazer poderá voltar aqui para obter o seu código de recuperação." }, "printCode": { "message": "Imprimir Código", @@ -1199,10 +1206,10 @@ "message": "Relatório de Brecha de Dados" }, "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." + "message": "Uma \"brecha\" é um incidente em que os dados de um site foram ilegalmente acedidos e tornados públicos. Verifique o tipo de dados comprometidos (endereços de email, palavras-passe, cartões de crédito etc.) e tome as medidas apropriadas, como mudar as palavras-passe." }, "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." + "message": "Verifique quaisquer nomes de utilizador ou endereços de email que utilize." }, "checkBreaches": { "message": "Verificar Brechas" @@ -1234,25 +1241,25 @@ } }, "breachFound": { - "message": "Breached Accounts Found" + "message": "Encontradas Contas Alvo de Brecha" }, "compromisedData": { - "message": "Compromised data" + "message": "Dados comprometidos" }, "website": { - "message": "Website" + "message": "Site" }, "affectedUsers": { "message": "Utilizadores Afetados" }, "breachOccurred": { - "message": "Breach Occurred" + "message": "Ocorreu Brecha" }, "breachReported": { - "message": "Breach Reported" + "message": "Brecha Comunicada" }, "reportError": { - "message": "An error occurred trying to load the report. Try again" + "message": "Ocorreu um erro ao tentar carregar o relatório. Tente novamente" }, "billingAndLicensing": { "message": "Faturação & Licenciamento" @@ -1262,19 +1269,19 @@ "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "Atualizou para Premium." + "message": "Atualizou para premium." }, "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." + "message": "Atualiza a sua conta para uma subscrição premium e desbloqueie fantásticas funções adicionais." }, "premiumSignUpStorage": { "message": "1 GB de armazenamento encriptado." }, "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + "message": "Opções adicionais de início de sessão em dois passos, como YubiKey, FIDO U2F, e Duo." }, "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." + "message": "Gerador de códigos de confirmação TOTP (2FA) para aceder ao seu cofre." }, "premiumSignUpSupport": { "message": "Apoio ao cliente prioritário." @@ -1292,7 +1299,7 @@ } }, "addons": { - "message": "Addons" + "message": "Extras" }, "additionalStorageGb": { "message": "Armazenamento Adicional (GB)" @@ -1301,7 +1308,7 @@ "message": "# de GB adicionais" }, "additionalStorageDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB \/year.", + "message": "O seu plano inclui $SIZE$ de armazenamento encriptado. Pode adicionar mais armazenamento por $PRICE$ por GB \/ano.", "placeholders": { "size": { "content": "$1", @@ -1330,10 +1337,10 @@ "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and on a recurring basis each year. You may cancel at any time." + "message": "O seu método de pagamento será imediatamente cobrado e, de forma regular, anualmente. Pode cancelar a qualquer momento." }, "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your card will not be charged until the trial has ended and on a recurring basis each $INTERVAL$. You may cancel at any time.", + "message": "O seu plano inclui um teste gratuito de 7 dias. O seu cartão de crédito apenas será debotado quanto o período de teste acabar e regularmente a cada $INTERVAL$. Pode cancelar em qualquer altura.", "placeholders": { "interval": { "content": "$1", @@ -1360,19 +1367,19 @@ "message": "Cancelamento Pendente" }, "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." + "message": "A subscrição foi marcada para cancelamento no fim do atual período de faturação." }, "reinstateSubscription": { - "message": "Reinstate Subscription" + "message": "Restabelecer Subscrição" }, "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" + "message": "Tem certeza que pretende eliminar o pedido de cancelamento e restabelecer a sua subscrição?" }, "reinstated": { - "message": "The subscription has been reinstated." + "message": "A subscrição foi restabelecida." }, "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." + "message": "Tem certeza que quer cancelar? Perderá todas as funções desta subscrição no fim do período já pago." }, "canceledSubscription": { "message": "A subscrição foi cancelada." @@ -1408,7 +1415,7 @@ "message": "Adicionar armazenamento" }, "removeStorage": { - "message": "Remover Armazenamento" + "message": "Eliminar Armazenamento" }, "subscriptionStorage": { "message": "A sua subscrição tem um total de $MAX_STORAGE$ GB de armazenamento encriptado. Está a utilizar $USED_STORAGE$.", @@ -1458,13 +1465,13 @@ "message": "GB de Armazenamento a Remover" }, "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + "message": "Adicionar armazenamento implicará um ajustamento ao total a faturar e imediatamente cobrado no método de pagamento registado. A primeira cobrança será prorateada pelo remanescente do atual período de faturação." }, "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "Eliminar armazenamento implicará ajustamentos no total a faturar, que será prorateado como crédito no próximo período de faturação." }, "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", + "message": "Ajustado $AMOUNT$ GB de armazenamento.", "placeholders": { "amount": { "content": "$1", @@ -1497,16 +1504,16 @@ } }, "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." + "message": "Para atualizar a sua conta para uma subscrição premium precisa de carregar um ficheiro de licença válida." }, "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." + "message": "Para criar uma organização alojada on-prem precisa de carregar um ficheiro de licença válida." }, "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." + "message": "O endereço de email da sua conta precisa ser confirmado." }, "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." + "message": "Organizações permitem-lhe partilhar partes do seu cofre com outros, bem como gerir utilizadores relacionados com uma entidade específica, como família, pequenas equipas ou grandes empresas." }, "generalInformation": { "message": "Informação Geral" @@ -1530,16 +1537,16 @@ "message": "Utilizadores" }, "userSeats": { - "message": "User Seats" + "message": "Lugares de Utilizador" }, "additionalUserSeats": { - "message": "Additional User Seats" + "message": "Lugares de Utilizador Adicionais" }, "userSeatsDesc": { - "message": "# of user seats" + "message": "# de lugares de utilizador" }, "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user \/month.", + "message": "O seu plano inclui $BASE_SEATS$ lugares de utilizador. Pode adicionar mais utilizadores por $SEAT_PRICE$ por utilizador \/mês.", "placeholders": { "base_seats": { "content": "$1", @@ -1552,13 +1559,13 @@ } }, "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." + "message": "De quantos lugares de utilizador precisa? Mais tarde pode adicionar outros se necessário." }, "planNameFree": { "message": "Gratuito" }, "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", + "message": "Para teste ou utilizadores pessoais partilharem com $COUNT$ outro utilizador.", "placeholders": { "count": { "content": "$1", @@ -1570,19 +1577,19 @@ "message": "Famílias" }, "planDescFamilies": { - "message": "For personal use, to share with family & friends." + "message": "Para uso pessoal, para partilhar com a família & amigos." }, "planNameTeams": { "message": "Equipas" }, "planDescTeams": { - "message": "For businesses and other team organizations." + "message": "Para empresas e outras equipas e organizações." }, "planNameEnterprise": { "message": "Empresarial" }, "planDescEnterprise": { - "message": "For businesses and other large organizations." + "message": "Para empresas e outras grandes organizações." }, "freeForever": { "message": "Gratuito para Sempre" @@ -1627,7 +1634,7 @@ } }, "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", + "message": "Adicione e partilhe com até $COUNT$ utilizadores", "placeholders": { "count": { "content": "$1", @@ -1639,7 +1646,7 @@ "message": "Adicione e partilhe com utilizadores ilimitados" }, "createUnlimitedCollections": { - "message": "Create unlimited collections" + "message": "Crie coleções ilimitadas" }, "gbEncryptedFileStorage": { "message": "$SIZE$ de armazenamento encriptado", @@ -1651,16 +1658,16 @@ } }, "onPremHostingOptional": { - "message": "On-premise hosting (optional)" + "message": "Alojamento próprio (opcional)" }, "controlAccessWithGroups": { - "message": "Control user access with groups" + "message": "Controle o acesso de utilizadores com grupos" }, "syncUsersFromDirectory": { - "message": "Sync your users and groups from a directory" + "message": "Sincroniza os seus utilizadores e grupos de um diretório" }, "trackAuditLogs": { - "message": "Track user actions with audit logs" + "message": "Siga as ações dos utilizadores com registos de auditoria" }, "enforce2faDuo": { "message": "Utilizar 2FA com Duo" @@ -1669,7 +1676,7 @@ "message": "Apoio ao cliente prioritário" }, "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", + "message": "$COUNT$ dias de teste gratuito, cancele quando quiser", "placeholders": { "count": { "content": "$1", @@ -1702,7 +1709,7 @@ "message": "Saiu da organização." }, "defaultCollection": { - "message": "Coleção Padrão" + "message": "Coleção Predefinida" }, "getHelp": { "message": "Pedir Ajuda" @@ -1741,16 +1748,16 @@ "message": "Id externa" }, "externalIdGroupDesc": { - "message": "The external id is used to link this group to an external system such as a user directory." + "message": "A id externa é utilizada para ligar este grupo a um sistema externo, como um diretório de utilizadores." }, "accessControl": { "message": "Controlo de Acesso" }, "groupAccessAllItems": { - "message": "This group can access and modify all items." + "message": "Este grupo pode aceder e modificar todos os itens." }, "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." + "message": "Este grupo tem acesso apenas a coleções selecionadas." }, "readOnly": { "message": "Apenas Leitura" @@ -1768,16 +1775,16 @@ "message": "Tem certeza que quer eliminar esta coleção?" }, "editUser": { - "message": "Alterar Utiliador" + "message": "Alterar Utilizador" }, "inviteUser": { "message": "Convidar Utilizador" }, "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + "message": "Convide um novo utilizador para a sua organização introduzindo abaixo o endereço de email da sua conta Bitwarden. Se ainda não tiverem uma conta Bitwarden, ser-lhes-á pedido para criarem uma." }, "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", + "message": "Pode convidar até $COUNT$ utilizadores de cada vez, separando os endereços de email com vírgulas.", "placeholders": { "count": { "content": "$1", @@ -1786,10 +1793,10 @@ } }, "userAccessAllItems": { - "message": "This user can access and modify all items." + "message": "Este utilizador pode aceder e modificar todos os itens." }, "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." + "message": "Este utilizador apenas pode aceder às coleções selecionadas." }, "search": { "message": "Pesquisar" @@ -1807,19 +1814,19 @@ "message": "Proprietário" }, "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." + "message": "O utilizador com acesso mais elevado que pode gerir todos os aspetos da sua organização." }, "admin": { "message": "Admin" }, "adminDesc": { - "message": " Admins can access and manage all items, collections and users in your organization." + "message": " Administradores podem aceder e gerir todos os itens, coleções e utilizadores na sua organização." }, "user": { "message": "Utilizador" }, "userDesc": { - "message": "A regular user with access to your organization's collections." + "message": "Um utilizador normal com acesso às coleções da sua organização." }, "all": { "message": "Todos" @@ -1861,25 +1868,25 @@ "message": "Palavra-passe da conta alterada." }, "enabled2fa": { - "message": "Acesso dois-passos ativado." + "message": "Início de sessão em dois passos ativado." }, "disabled2fa": { - "message": "Acesso dois-passos desativado." + "message": "Início de sessão em dois passos desativado." }, "recovered2fa": { - "message": "Conta recuperada de acesso dois-passos." + "message": "Conta recuperada de início de sessão em dois passos." }, "failedLogin": { "message": "Tentativa de acesso falhado com palavra-passe incorreta." }, "failedLogin2fa": { - "message": "Tentativa de acesso falhada como acesso dois-passos incorreto." + "message": "Tentativa de acesso falhada com inicio de sessão em dois passos incorreto." }, "editedOrgSettings": { "message": "Definições de organização alteradas." }, "createdItemId": { - "message": "Criado o item $ID$.", + "message": "Item $ID$ criado.", "placeholders": { "id": { "content": "$1", @@ -1996,7 +2003,7 @@ } }, "editedCollectionsForItem": { - "message": "Alterada a coleção para o item $ID$.", + "message": "Coleção para o item $ID$ alterada.", "placeholders": { "id": { "content": "$1", @@ -2065,7 +2072,7 @@ "message": "Alterar os grupos a que este utilizador pertence." }, "invitedUsers": { - "message": "Utilizador(es) inválido(s)." + "message": "Utilizador(es) convidado(s)." }, "resendInvitation": { "message": "Reenviar Convite" @@ -2098,67 +2105,67 @@ "message": "Data do Fim" }, "verifyEmail": { - "message": "Verificar Email" + "message": "Confirmar Email" }, "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." + "message": "Confirme o endereço de email da sua conta para desbloquear o acesso a todas as funções." }, "verifyEmailFirst": { - "message": "Your account's email address first must be verified." + "message": "O endereço de email da sua conta foi confirmado." }, "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." + "message": "Veja na caixa de entrada do seu email a ligação para a confirmação." }, "emailVerified": { - "message": "Your email has been verified." + "message": "O seu email foi confirmado." }, "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." + "message": "Não foi possível confirmar o seu email. Tente enviar um novo email de confirmação." }, "updateBrowser": { "message": "Atualizar Navegador" }, "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." + "message": "Está a utilizar um navegador não suportado. O cofre web pode não funcionar corretamente." }, "joinOrganization": { "message": "Aderir a Organização" }, "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Foi convidado para se juntar à organização listada acima. Para aceitar o convite, precisa de iniciar sessão ou criar uma nova conta Bitwarden." }, "inviteAccepted": { "message": "Convite Aceite" }, "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + "message": "Pode aceder a esta organização quanto um administrador confirmar a sua entrada. Enviaremos um email quando tal acontecer." }, "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + "message": "Impossível aceitar o convite. Peça a um admin da organização para enviar novo convite." }, "rememberEmail": { "message": "Recordar email" }, "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." + "message": "Se não conseguir aceder à conta através dos seus habituais métodos de início de sessão em dois passos, pode utilizar o respetivo código de recuperação para desativar todos os métodos de início de sessão em dois-passos da sua conta." }, "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" + "message": "Recuperar o Início de Sessão em Dois Passos da Conta" }, "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." + "message": "O início de sessão em dois passos foi desativado na sua conta." }, "learnMore": { "message": "Saber mais" }, "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." + "message": "Introduza abaixo o seu endereço de email para recuperar ou eliminar a sua conta." }, "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." + "message": "Se a sua conta existe, enviámos-lhe um email com mais instruções." }, "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." + "message": "Pediu para eliminar a sua conta Bitwarden. Clique no botão abaixo para confirmar." }, "myOrganization": { "message": "A Minha Organização" @@ -2167,25 +2174,25 @@ "message": "Eliminar Organização" }, "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + "message": "Continue para apagar esta organização e todos os dados associados. Contas de utilizadores individuais serão mantidas, embora já não associadas a esta organização. " }, "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." + "message": "A eliminação da organização é permanente. Não pode ser desfeita." }, "organizationDeleted": { "message": "Organização Eliminada" }, "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." + "message": "A organização e todos os dados associados foram eliminados." }, "organizationUpdated": { "message": "Organização atualizada" }, "taxInformation": { - "message": "Informação fiscal" + "message": "Informação Fiscal" }, "taxInformationDesc": { - "message": "Please contact support to provide (or update) tax information for your invoices." + "message": "Por favor contacte o apoio para indicar (ou atualizar) a informação fiscal para faturação." }, "billingPlan": { "message": "Plano", @@ -2196,26 +2203,26 @@ "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", + "message": "Contacte o apoio ao cliente se desejar alterar o seu plano. Certifique-se que tem um método de pagamento ativo adicionado à sua conta.", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "invoice": { "message": "Fatura" }, "verifyBankAccount": { - "message": "Verificar Conta Bancária" + "message": "Confirmar Conta Bancária" }, "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." + "message": "Fizemos dois micro-depósitos na sua conta (pode demorar 1-2 dias úteis a aparecer). Introduza estas quantias para confirmar a conta bancária." }, "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." + "message": "Pagamento via conta bancária apenas está disponível para clientes nos Estados Unidos. Ser-lhe-á pedido para confirmar a sua conta bancária. Procederemos a dois micro-depósitos nos próximos 1-2 dias úteis. Introduza estas quantias na página de faturação da organização para confirmar a conta bancária." }, "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." + "message": "Não confirmar a conta bancária implicará a falta de um pagamento e a sua subscrição ser desativada." }, "verifiedBankAccount": { - "message": "Conta bancária verificada." + "message": "A conta bancária foi confirmada." }, "bankAccount": { "message": "Conta Bancária" @@ -2231,7 +2238,7 @@ } }, "routingNumber": { - "message": "Routing Number", + "message": "Número de Roteamento", "description": "Bank account routing number" }, "accountNumber": { @@ -2250,18 +2257,18 @@ "message": "Individual (Pessoal)" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "Introduza a id da sua instalação" }, "addSeats": { - "message": "Add Seats", + "message": "Adicionar Lugares", "description": "Seat = User Seat" }, "removeSeats": { - "message": "Remove Seats", + "message": "Eliminar Lugares", "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", + "message": "A sua subscrição permite um total de $COUNT$ utilizadores.", "placeholders": { "count": { "content": "$1", @@ -2270,19 +2277,19 @@ } }, "seatsToAdd": { - "message": "Seats To Add" + "message": "Lugares A Adicionar" }, "seatsToRemove": { - "message": "Seats To Remove" + "message": "Lugares A Eliminar" }, "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + "message": "Adicionar lugares de utilizador resultará em ajustamento ao total de faturação e será imediatamente cobrado no método de pagamento indicado. A primeira cobrança será prorateada pelo remanescente do presente período de faturação." }, "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "Eliminar lugares de utilizador resultará no ajustamentos do total de faturação, que será prorateado como crédito no próximo período de faturação." }, "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", + "message": "Ajustado $AMOUNT$ lugares de utilizador.", "placeholders": { "amount": { "content": "$1", @@ -2294,19 +2301,19 @@ "message": "Chave Atualizada" }, "updateKeyTitle": { - "message": "Update Key" + "message": "Atualizar Chave" }, "updateEncryptionKey": { - "message": "Update Encryption Key" + "message": "Atualizar Chave de Encriptação" }, "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." + "message": "Está a utilizar um esquema de encriptação desatualizado." }, "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." + "message": "Mudámos para chaves de encriptação maiores que fornecem maior segurança e acesso a funções mais recentes. Atualizar a sua chave de encriptação é fácil e rápido. Basta introduzir abaixo a sua palavra-passe. Esta atualização eventualmente tornar-se-á obrigatória." }, "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + "message": "Depois de atualizar a sua chave de encriptação, é-lhe pedido que encerre a sessão e volte a iniciá-la em todas as aplicações Bitwarden que esteja a utilizar (tais como a app móvel ou extensões do navegador). Não encerrar e voltar a iniciar (que transfere a sua nova chave de encriptação) pode corromper os dados. Tentaremos encerrar a sessão automaticamente, todavia, pode demorar." }, "subscription": { "message": "Subscrição" @@ -2321,22 +2328,22 @@ "message": "Atualizar Organização" }, "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + "message": "Esta função não está disponível para organizações gratuitas. Mude para um plano pago para desbloquear mais funções." }, "createOrganizationStep1": { - "message": "Create Organization: Step 1" + "message": "Criar Organização: Passo 1" }, "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." + "message": "Antes de criar a sua organização, primeiro tem de criar uma conta pessoal gratuita." }, "refunded": { - "message": "Refunded" + "message": "Reembolsado" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "Não selecionou nada." }, "submitAgreePolicies": { - "message": "By clicking the \"Submit\" button, you agree to the following policies:", + "message": "Ao clicar no botão \"Submeter\", concorda com as seguintes políticas:", "description": "A policy is something like Terms of Service, Privacy Policy, etc." }, "termsOfService": { @@ -2346,6 +2353,41 @@ "message": "Política de Privacidade" }, "filters": { - "message": "Filters" + "message": "Filtros" + }, + "lockOptions": { + "message": "Opções de Bloqueio" + }, + "lockOptionsDesc": { + "message": "Escolha quando o seu cofre se bloqueia. Para voltar a abrir um cofre bloqueado precisa de reintroduzir a palavra-passe mestra." + }, + "oneMinute": { + "message": "1 minuto" + }, + "fiveMinutes": { + "message": "5 minutos" + }, + "fifteenMinutes": { + "message": "15 minutos" + }, + "thirtyMinutes": { + "message": "30 minutos" + }, + "oneHour": { + "message": "1 hora" + }, + "fourHours": { + "message": "4 horas" + }, + "onRefresh": { + "message": "Quando Reiniciar o Navegador" + }, + "dateUpdated": { + "message": "Atualizado", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Palavra-passe Atualizada", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/ru/messages.json b/locales/ru/messages.json index 717f5ecf..5d40cba4 100644 --- a/locales/ru/messages.json +++ b/locales/ru/messages.json @@ -10,7 +10,7 @@ } }, "whatTypeOfItem": { - "message": "What type of item is this?" + "message": "Какой это тип элемента?" }, "name": { "message": "Название" @@ -161,7 +161,7 @@ "message": "Удалить" }, "unassigned": { - "message": "Unassigned" + "message": "Неназначенные" }, "noneFolder": { "message": "Без папки", @@ -229,7 +229,7 @@ "message": "Отмена" }, "canceled": { - "message": "Canceled" + "message": "Отменено" }, "close": { "message": "Закрыть" @@ -241,7 +241,7 @@ "message": "Избранный" }, "unfavorite": { - "message": "Unfavorite" + "message": "Удалить из избранных" }, "edit": { "message": "Изменить" @@ -508,13 +508,13 @@ "message": "Отправить" }, "emailAddressDesc": { - "message": "You'll use your email address to log in." + "message": "Адрес электронной почты будет использоваться для входа." }, "yourName": { "message": "Ваше имя" }, "yourNameDesc": { - "message": "What should we call you?" + "message": "Как вас называть?" }, "masterPass": { "message": "Мастер-пароль" @@ -589,22 +589,22 @@ "message": "Нет элементов для отображения." }, "noCollectionsInList": { - "message": "There are no collections to list." + "message": "Нет коллекций для отображения." }, "noGroupsInList": { - "message": "There are no groups to list." + "message": "Нет групп для отображения." }, "noUsersInList": { - "message": "There are no users to list." + "message": "Нет пользователей для отображения." }, "noEventsInList": { - "message": "There are no events to list." + "message": "Нет событий для отображения." }, "newOrganization": { "message": "Новая организация" }, "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." + "message": "Вы не принадлежите к каким-либо организациям. Организации позволяют безопасно обмениваться элементами с другими пользователями." }, "versionNumber": { "message": "Версия $VERSION_NUMBER$", @@ -712,13 +712,13 @@ "message": "Организации" }, "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." + "message": "Выберите организацию, которой вы хотите предоставить доступ к этому элементу. Совместное использование передает права на элемент организации. Вы больше не будете являться непосредственным владельцем этого элемента после его совместного использования." }, "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." + "message": "Выберите организацию, которой вы хотите предоставить доступ к этим элементам. Совместное использование передает права на элементы организации. Вы больше не будете являться непосредственным владельцем этих элементов после их совместного использования." }, "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." + "message": "Отредактируйте коллекции, с которыми совместно используется этот элемент. Только пользователи организации, имеющие доступ к этим коллекциям, смогут видеть этот элемент." }, "deleteSelectedItemsDesc": { "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", @@ -832,10 +832,10 @@ "message": "Email изменен" }, "logBackIn": { - "message": "Please log back in." + "message": "Пожалуйста, войдите снова." }, "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." + "message": "Пожалуйста, войдите снова. Если вы используете другие приложения Bitwarden, выполните на них выход и повторный вход." }, "changeMasterPassword": { "message": "Изменить мастер-пароль" @@ -853,13 +853,13 @@ "message": "Подтвердите новый мастер-пароль" }, "dangerZone": { - "message": "Danger Zone" + "message": "Опасная зона" }, "dangerZoneDesc": { "message": "Осторожно, эти действия не обратимы!" }, "deauthorizeSessions": { - "message": "Deauthorize Sessions" + "message": "Деавторизовать сессии" }, "deauthorizeSessionsDesc": { "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public PC or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." @@ -910,7 +910,7 @@ "message": "Данные были успешно импортированы в ваше хранилище." }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "Формат данных некорректен. Проверьте файл импорта и повторите попытку." }, "importNothingError": { "message": "Ничего не было импортировано." @@ -925,7 +925,7 @@ "message": "или скопируйте\/вставьте содержимое файла импорта" }, "instructionsFor": { - "message": "$NAME$ Instructions", + "message": "Инструкции для $NAME$", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -938,10 +938,10 @@ "message": "Опции" }, "optionsDesc": { - "message": "Customize your web vault experience." + "message": "Настройте возможности вашего веб-хранилища." }, "optionsUpdated": { - "message": "Options updated" + "message": "Параметры обновлены" }, "language": { "message": "Язык" @@ -955,38 +955,45 @@ "disableIconsDesc": { "message": "Значки веб-сайтов отображаются рядом с каждым элементом в вашем хранилище." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "По умолчанию" }, "domainRules": { - "message": "Domain Rules" + "message": "Правила домена" }, "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." + "message": "Если у вас есть тот же логин на нескольких разных доменах веб-сайта, вы можете отметить веб-сайт как \"эквивалентный\". \"Глобальные\" - это домены, созданные для вас Bitwarden." }, "globalEqDomains": { - "message": "Global Equivalent Domains" + "message": "Глобальные эквивалентные домены" }, "customEqDomains": { - "message": "Custom Equivalent Domains" + "message": "Пользовательские эквивалентные домены" }, "exclude": { - "message": "Exclude" + "message": "Исключить" }, "include": { - "message": "Include" + "message": "Включить" }, "customize": { - "message": "Customize" + "message": "Настроить" }, "newCustomDomain": { - "message": "New Custom Domain" + "message": "Новый пользовательский домен" }, "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp:\/\/package.name\" to associate an android app with other website domains." + "message": "Введите список доменов, разделенных запятыми. Допускаются только базовые домены. Не вводите субдомены. Например, вводите \"google.com\" вместо \"www.google.com\". Вы также можете ввести \"androidapp:\/\/package.name\", чтобы связать приложение Android с другими доменами веб-сайта." }, "customDomainX": { - "message": "Custom Domain $INDEX$", + "message": "Пользовательский домен $INDEX$", "placeholders": { "index": { "content": "$1", @@ -995,13 +1002,13 @@ } }, "domainsUpdated": { - "message": "Domains updated" + "message": "Домены обновлены" }, "twoStepLogin": { "message": "Двухфакторная аутентификация" }, "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." + "message": "Защитите свою учетную запись, при помощи дополнительного шага при авторизации." }, "twoStepLoginOrganizationDesc": { "message": "Require two-step login for your organization's users by configuring providers at the organization level." @@ -1013,7 +1020,7 @@ "message": "Просмотреть код восстановления" }, "providers": { - "message": "Providers", + "message": "Провайдеры", "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { @@ -1051,10 +1058,10 @@ "message": "Follow these steps to set up two-step login with an authenticator app:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" + "message": "Загрузите приложение-аутентификатор" }, "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" + "message": "Нужно приложение-аутентификатор? Загрузите одно из следующих" }, "iosDevices": { "message": "Устройства iOS" @@ -1063,10 +1070,10 @@ "message": "Устройства Android" }, "windowsDevices": { - "message": "Windows devices" + "message": "Устройства Windows" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "Эти приложения рекомендуется, однако, другие приложения-аутентификаторы также будут работать." }, "twoStepAuthenticatorScanCode": { "message": "Сосканируйте этот QR-код вашим приложением-аутентификатором" @@ -1078,37 +1085,37 @@ "message": "Введите полученный 6-значный код подтверждения из вашего приложения-аутентификатора" }, "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." + "message": "Если вам нужно добавить его на другое устройство, ниже приведен QR-код, требуемый вашим приложением-аутентификатором." }, "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" + "message": "Вы действительно хотите отключить этого провайдера двухфакторной аутентификации?" }, "twoStepDisabled": { - "message": "Two-step login provider disabled." + "message": "Провайдер двухфакторной аутентификации отключен." }, "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" + "message": "Добавить новый YubiKey в свою учетную запись" }, "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey (NEO or 4 series) into your computer's USB port." + "message": "Подключите YubiKey (NEO или 4 серии) к USB-порту вашего компьютера." }, "twoFactorYubikeySelectKey": { - "message": "Select in the first empty YubiKey input field below." + "message": "Выберите в первом пустом поле ввода YubiKey." }, "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." + "message": "Нажмите кнопку на YubiKey." }, "twoFactorYubikeySaveForm": { - "message": "Save the form." + "message": "Сохранить форму." }, "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" + "message": "Из-за ограничений платформы YubiKey нельзя использовать во всех приложениях Bitwarden. Вы должны включить другого провайдера двухфакторной аутентификации, чтобы иметь возможность получить доступ к своей учетной записи, когда YubiKey не может быть использован. Поддерживаемые платформы:" }, "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." + "message": "Веб-хранилище, приложение для компьютера, CLI и все расширения браузера на устройстве с USB-портом, который может принимать ваш YubiKey." }, "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." + "message": "Мобильные приложения на устройстве с NFC или USB-портом, который может принимать ваш YubiKey." }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1120,46 +1127,46 @@ } }, "nfcSupport": { - "message": "NFC Support" + "message": "Поддержка NFC" }, "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." + "message": "Один из моих ключей поддерживает NFC." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." + "message": "Если один из ваших YubiKey поддерживает NFC (например, YubiKey NEO), то при обнаружении доступности NFC на мобильном устройстве вам будет выдан запрос." }, "yubikeysUpdated": { - "message": "YubiKeys updated" + "message": "YubiKeys обновлены" }, "disableAllKeys": { - "message": "Disable All Keys" + "message": "Отключить все ключи" }, "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." + "message": "Введите информацию о приложении Bitwarden из панели администратора Duo." }, "twoFactorDuoIntegrationKey": { - "message": "Integration Key" + "message": "Ключ интеграции" }, "twoFactorDuoSecretKey": { - "message": "Secret Key" + "message": "Секретный ключ" }, "twoFactorDuoApiHostname": { - "message": "API Hostname" + "message": "Имя хоста API" }, "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" + "message": "Выполните следующие шаги, чтобы настроить двухфакторную аутентификацию по email:" }, "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" + "message": "Введите адрес email, на который вы хотите получать коды подтверждения" }, "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" + "message": "Введите полученный в письме 6-значный код подтверждения" }, "sendEmail": { - "message": "Send Email" + "message": "Отправить Email" }, "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" + "message": "Добавьте в свою учетную запись ключ безопасности FIDO U2F" }, "twoFactorU2fPlugIn": { "message": "Подключите ключ безопасности к USB-порту вашего компьютера." @@ -1168,41 +1175,41 @@ "message": "Если у ключа безопасности есть кнопка, нажмите ее." }, "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" + "message": "Из-за ограничений платформы FIDO U2F нельзя использовать во всех приложениях Bitwarden. Вы должны включить другого провайдера двухфакторной аутентификации, чтобы иметь возможность получить доступ к своей учетной записи, когда FIDO U2F не может быть использован. Поддерживаемые платформы:" }, "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop\/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." + "message": "Веб-хранилище и расширения браузера на компьютере\/ноутбуке с браузером с поддержкой U2F (Chrome, Opera, Vivaldi или Firefox с включенным FIDO U2F)." }, "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" + "message": "В ожидании нажатия кнопки на ключе безопасности" }, "twoFactorU2fClickEnable": { "message": "Click the \"Enable\" button below to enable this security key for two-step login." }, "twoFactorU2fProblemReading": { - "message": "There was a problem reading the security key." + "message": "Не удалось прочитать ключ безопасности." }, "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" + "message": "Ваш код восстановления двухфакторной ауентификации Bitwarden" }, "twoFactorRecoveryNoCode": { "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." }, "printCode": { - "message": "Print Code", + "message": "Печать кода", "description": "Print 2FA recovery code" }, "reports": { - "message": "Reports" + "message": "Отчеты" }, "dataBreachReport": { - "message": "Data Breach Report" + "message": "Отчет о данных утечек" }, "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." + "message": "\"Утечка\" - это инцидент, при котором данные сайта стали незаконно доступны хакерам, а затем были публично опубликованы. Просмотрите типы данных, которые были скомпрометированы (адреса email, пароли, кредитные карты и т. д.) И предпримите соответствующие действия, такие как смена паролей." }, "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." + "message": "Проверьте имена пользователей или адреса email, которые вы используете." }, "checkBreaches": { "message": "Проверить в базах утечек" @@ -1217,11 +1224,11 @@ } }, "goodNews": { - "message": "Good News", + "message": "Хорошие новости", "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", + "message": "$USERNAME$ найден в $COUNT$ различных онлайн-базах утечек.", "placeholders": { "username": { "content": "$1", @@ -1234,7 +1241,7 @@ } }, "breachFound": { - "message": "Breached Accounts Found" + "message": "Обнаружена утечка аккаунтов" }, "compromisedData": { "message": "Скомпрометированные данные" @@ -1243,29 +1250,29 @@ "message": "Веб-сайт" }, "affectedUsers": { - "message": "Affected Users" + "message": "Затронутые пользователи" }, "breachOccurred": { - "message": "Breach Occurred" + "message": "Произошла утечка" }, "breachReported": { - "message": "Breach Reported" + "message": "Сообщено об утечке" }, "reportError": { - "message": "An error occurred trying to load the report. Try again" + "message": "При загрузке отчета произошла ошибка. Попробуйте еще раз" }, "billingAndLicensing": { - "message": "Billing & Licensing" + "message": "Биллинг & Лицензирование" }, "goPremium": { - "message": "Go Premium", + "message": "Перейти на Премиум", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "You've upgraded to premium." + "message": "Вы обновились до Премиум." }, "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." + "message": "Обновите свою учетную запись до Премиум-статуса и разблокируйте несколько великолепных дополнительных возможностей." }, "premiumSignUpStorage": { "message": "1 ГБ зашифрованного хранилища файлов." @@ -1292,16 +1299,16 @@ } }, "addons": { - "message": "Addons" + "message": "Дополнения" }, "additionalStorageGb": { - "message": "Additional Storage (GB)" + "message": "Дополнительное хранилище (ГБ)" }, "additionalStorageGbDesc": { - "message": "# of additional GB" + "message": "# дополнительных ГБ" }, "additionalStorageDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB \/year.", + "message": "В ваш план включено $SIZE$ зашифрованного файлового хранилища. Вы можете добавить дополнительное место по $PRICE$ за ГБ \/год.", "placeholders": { "size": { "content": "$1", @@ -1314,23 +1321,23 @@ } }, "summary": { - "message": "Summary" + "message": "Итого" }, "total": { - "message": "Total" + "message": "Всего" }, "year": { - "message": "year" + "message": "год" }, "month": { - "message": "month" + "message": "месяц" }, "monthAbbr": { - "message": "mo.", + "message": "мес.", "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and on a recurring basis each year. You may cancel at any time." + "message": "Ваш метод оплаты будет активирован немедленно и использоваться ежегодно. Вы можете отменить это в любой момент." }, "paymentChargedWithTrial": { "message": "Your plan comes with a free 7 day trial. Your card will not be charged until the trial has ended and on a recurring basis each $INTERVAL$. You may cancel at any time.", @@ -1342,40 +1349,40 @@ } }, "paymentInformation": { - "message": "Payment Information" + "message": "Платежная информация" }, "creditCard": { - "message": "Credit Card" + "message": "Кредитная карта" }, "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." + "message": "Нажмите кнопку PayPal, чтобы войти в свою учетную запись PayPal, затем нажмите кнопку Отправить ниже, чтобы продолжить." }, "cancelSubscription": { "message": "Отменить подписку" }, "subscriptionCanceled": { - "message": "The subscription has been canceled." + "message": "Подписка отменена." }, "pendingCancellation": { - "message": "Pending Cancellation" + "message": "Ожидание отмены" }, "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." + "message": "Подписка была помечена для отмены в конце текущего платежного периода." }, "reinstateSubscription": { - "message": "Reinstate Subscription" + "message": "Восстановить подписку" }, "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" + "message": "Вы действительно хотите удалить ожидающий запрос на аннулирование и восстановить свою подписку?" }, "reinstated": { - "message": "The subscription has been reinstated." + "message": "Подписка восстановлена." }, "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." + "message": "Вы действительно хотите отменить? Вы потеряете доступ ко всем возможностям этой подписки в конце этого платежного периода." }, "canceledSubscription": { - "message": "The subscription has been canceled." + "message": "Подписка отменена." }, "neverExpires": { "message": "Никогда не истекает" @@ -1384,34 +1391,34 @@ "message": "Статус" }, "nextCharge": { - "message": "Next Charge" + "message": "Следующий платеж" }, "details": { - "message": "Details" + "message": "Подробности" }, "downloadLicense": { - "message": "Download License" + "message": "Загрузить лицензию" }, "updateLicense": { - "message": "Update License" + "message": "Обновить лицензию" }, "updatedLicense": { - "message": "Updated license" + "message": "Лицензия обновлена" }, "manageSubscription": { - "message": "Manage Subscription" + "message": "Управление подпиской" }, "storage": { "message": "Хранилище" }, "addStorage": { - "message": "Add Storage" + "message": "Добавить хранилище" }, "removeStorage": { - "message": "Remove Storage" + "message": "Удалить хранилище" }, "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", + "message": "Ваша подписка включает в общей сложности $MAX_STORAGE$ ГБ зашифрованного файлового хранилища. На текущий момент использовано $USED_STORAGE$.", "placeholders": { "max_storage": { "content": "$1", @@ -1427,7 +1434,7 @@ "message": "Способ оплаты" }, "noPaymentMethod": { - "message": "No payment method on file." + "message": "Нет способа оплаты в файле." }, "addPaymentMethod": { "message": "Добавить способ оплаты" @@ -1436,14 +1443,14 @@ "message": "Изменить способ оплаты" }, "charges": { - "message": "Charges", + "message": "Платежи", "description": "Credit card charges\/payments." }, "noCharges": { - "message": "No charges." + "message": "Нет платежей." }, "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", + "message": "Любые платежи появятся в вашей выписке как $STATEMENT_NAME$.", "placeholders": { "statement_name": { "content": "$1", @@ -1452,19 +1459,19 @@ } }, "gbStorageAdd": { - "message": "GB of Storage To Add" + "message": "ГБ хранилища для добавления" }, "gbStorageRemove": { - "message": "GB of Storage To Remove" + "message": "ГБ хранилища для удаления" }, "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + "message": "Добавление хранилища приведет к корректировке итоговых счетов и немедленному взиманию платы с вашего метода оплаты. Первый платеж будет пропорционален оставшейся части текущего платежного периода." }, "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "Удаление хранилища приведет к корректировке ваших итоговых счетов. Излишне уплаченные средства будут пропорционально перенесены на ваш следующий платежный период." }, "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", + "message": "Скорректировано $AMOUNT$ ГБ хранилища.", "placeholders": { "amount": { "content": "$1", @@ -1476,19 +1483,19 @@ "message": "Обратиться в службу поддержки" }, "contactSupportPaymentMethod": { - "message": "If you would like to change from this payment method please contact customer support." + "message": "Если вы хотите изменить этот способ оплаты, обратитесь в службу поддержки." }, "updatedPaymentMethod": { - "message": "Updated payment method." + "message": "Обновленный способ оплаты." }, "purchasePremium": { "message": "Купить премиум" }, "licenseFile": { - "message": "License File" + "message": "Файл лицензии" }, "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", + "message": "Имя файла лицензии будет похоже на $FILE_NAME$", "placeholders": { "file_name": { "content": "$1", @@ -1497,49 +1504,49 @@ } }, "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." + "message": "Чтобы обновить свою учетную запись до Премиум-статуса, вам необходимо загрузить действительный файл лицензии." }, "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." + "message": "Для создания организации размещенной на локальном хостинге, необходимо загрузить действительный файл лицензии." }, "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." + "message": "Адрес email вашей учетной записи должен быть подтвержден." }, "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." + "message": "Организации позволяют совместно использовать части своего хранилища с другими, а также управлять связанными пользователями для определенного объекта, такого как семья, небольшая команда или крупная компания." }, "generalInformation": { - "message": "General Information" + "message": "Общая информация" }, "organizationName": { - "message": "Organization Name" + "message": "Название организации" }, "accountOwnedBusiness": { - "message": "This account is owned by a business." + "message": "Эта учетная запись принадлежит компании." }, "billingEmail": { - "message": "Billing Email" + "message": "Email для выставления счетов" }, "businessName": { - "message": "Business Name" + "message": "Наименование компании" }, "chooseYourPlan": { - "message": "Choose Your Plan" + "message": "Выберите свой план" }, "users": { - "message": "Users" + "message": "Пользователи" }, "userSeats": { - "message": "User Seats" + "message": "Пользовательских лицензий" }, "additionalUserSeats": { - "message": "Additional User Seats" + "message": "Дополнительные пользовательские лицензии" }, "userSeatsDesc": { - "message": "# of user seats" + "message": "# пользовательских лицензий" }, "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user \/month.", + "message": "Ваш план включает $BASE_SEATS$ пользовательских лицензий. Вы можете добавить дополнительных пользователей по $SEAT_PRICE$ за пользователя \/месяц.", "placeholders": { "base_seats": { "content": "$1", @@ -1552,13 +1559,13 @@ } }, "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." + "message": "Какое количество пользовательских лицензий вам нужно? При необходимости, вы можете добавить дополнительные лицензии позже." }, "planNameFree": { - "message": "Free" + "message": "Бесплатно" }, "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", + "message": "Для тестирования или индивидуальных пользователей для совместного использования с $COUNT$ другими пользователями.", "placeholders": { "count": { "content": "$1", @@ -1567,28 +1574,28 @@ } }, "planNameFamilies": { - "message": "Families" + "message": "Семьи" }, "planDescFamilies": { - "message": "For personal use, to share with family & friends." + "message": "Для личного использования, чтобы поделиться с семьей и друзьями." }, "planNameTeams": { - "message": "Teams" + "message": "Команды" }, "planDescTeams": { - "message": "For businesses and other team organizations." + "message": "Для компаний и других командных организаций." }, "planNameEnterprise": { - "message": "Enterprise" + "message": "Предприятие" }, "planDescEnterprise": { - "message": "For businesses and other large organizations." + "message": "Для компаний и других крупных организаций." }, "freeForever": { - "message": "Free Forever" + "message": "Бесплатно навсегда" }, "includesXUsers": { - "message": "includes $COUNT$ users", + "message": "включает $COUNT$ пользователей", "placeholders": { "count": { "content": "$1", @@ -1597,10 +1604,10 @@ } }, "additionalUsers": { - "message": "Additional Users" + "message": "Дополнительные пользователи" }, "costPerUser": { - "message": "$COST$ per user", + "message": "$COST$ за пользователя", "placeholders": { "cost": { "content": "$1", @@ -1609,7 +1616,7 @@ } }, "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", + "message": "Ограничение до $COUNT$ пользователей (включая вас)", "placeholders": { "count": { "content": "$1", @@ -1618,7 +1625,7 @@ } }, "limitedCollections": { - "message": "Limited to $COUNT$ collections", + "message": "Ограничение до $COUNT$ коллекций", "placeholders": { "count": { "content": "$1", @@ -1627,7 +1634,7 @@ } }, "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", + "message": "Добавить и поделиться с $COUNT$ пользователями", "placeholders": { "count": { "content": "$1", @@ -1636,10 +1643,10 @@ } }, "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" + "message": "Добавить и поделиться со всеми пользователями" }, "createUnlimitedCollections": { - "message": "Create unlimited collections" + "message": "Создание неограниченных коллекций" }, "gbEncryptedFileStorage": { "message": "$SIZE$ зашифрованного хранилища файлов", @@ -1651,25 +1658,25 @@ } }, "onPremHostingOptional": { - "message": "On-premise hosting (optional)" + "message": "Локальный хостинг (опционально)" }, "controlAccessWithGroups": { "message": "Control user access with groups" }, "syncUsersFromDirectory": { - "message": "Sync your users and groups from a directory" + "message": "Синхронизация ваших пользователей и групп из каталога" }, "trackAuditLogs": { - "message": "Track user actions with audit logs" + "message": "Отслеживание действий пользователя с журналами аудита" }, "enforce2faDuo": { - "message": "Enforce 2FA with Duo" + "message": "Принудительная 2FA с Duo" }, "priorityCustomerSupport": { - "message": "Priority customer support" + "message": "Приоритетная поддержка" }, "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", + "message": "$COUNT$ дней бесплатная пробная версия, отмена в любое время", "placeholders": { "count": { "content": "$1", @@ -1678,103 +1685,103 @@ } }, "monthly": { - "message": "Monthly" + "message": "Ежемесячно" }, "annually": { - "message": "Annually" + "message": "Ежегодно" }, "basePrice": { - "message": "Base Price" + "message": "Базовая цена" }, "organizationCreated": { - "message": "Organization Created" + "message": "Организация создана" }, "organizationReadyToGo": { - "message": "Your new organization is ready to go!" + "message": "Ваша новая организация готова к работе!" }, "leave": { - "message": "Leave" + "message": "Покинуть" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "Вы действительно хотите покинуть эту организацию?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "Вы покинули организацию." }, "defaultCollection": { - "message": "Default Collection" + "message": "Коллекция по умолчанию" }, "getHelp": { - "message": "Get Help" + "message": "Получить помощь" }, "getApps": { - "message": "Get the Apps" + "message": "Получить приложения" }, "loggedInAs": { - "message": "Logged in as" + "message": "Вы вошли как" }, "eventLogs": { - "message": "Event Logs" + "message": "Журнал событий" }, "people": { - "message": "People" + "message": "Люди" }, "groups": { - "message": "Groups" + "message": "Группы" }, "newGroup": { - "message": "New Group" + "message": "Новая группа" }, "addGroup": { - "message": "Add Group" + "message": "Добавить группу" }, "editGroup": { - "message": "Edit Group" + "message": "Редактировать группу" }, "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" + "message": "Вы действительно хотите удалить эту группу?" }, "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" + "message": "Вы действительно хотите удалить этого пользователя?" }, "externalId": { - "message": "External Id" + "message": "Внешний ID" }, "externalIdGroupDesc": { - "message": "The external id is used to link this group to an external system such as a user directory." + "message": "Внешний идентификатор используется для привязки этой группы к внешней системе, такой как каталог пользователя." }, "accessControl": { - "message": "Access Control" + "message": "Контроль доступа" }, "groupAccessAllItems": { - "message": "This group can access and modify all items." + "message": "Эта группа может иметь доступ и изменять все элементы." }, "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." + "message": "Эта группа может иметь доступ только к выбранным коллекциям." }, "readOnly": { - "message": "Read Only" + "message": "Только чтение" }, "newCollection": { - "message": "New Collection" + "message": "Новая коллекция" }, "addCollection": { - "message": "Add Collection" + "message": "Добавить коллекцию" }, "editCollection": { - "message": "Edit Collection" + "message": "Редактировать коллекцию" }, "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" + "message": "Вы действительно хотите удалить эту коллекцию?" }, "editUser": { - "message": "Edit User" + "message": "Редактировать пользователя" }, "inviteUser": { - "message": "Invite User" + "message": "Пригласить пользователя" }, "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + "message": "Пригласите нового пользователя в свою организацию, введя адрес email его учетной записи Bitwarden ниже. Если у него пока нет учетной записи Bitwarden, то будет предложено ее создать." }, "inviteMultipleEmailDesc": { "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", @@ -1786,100 +1793,100 @@ } }, "userAccessAllItems": { - "message": "This user can access and modify all items." + "message": "Эта пользователь может иметь доступ и изменять все элементы." }, "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." + "message": "Этот пользователь может иметь доступ только к выбранным коллекциям." }, "search": { "message": "Поиск" }, "invited": { - "message": "Invited" + "message": "Приглашен" }, "accepted": { - "message": "Accepted" + "message": "Принято" }, "confirmed": { - "message": "Confirmed" + "message": "Подтверждено" }, "owner": { - "message": "Owner" + "message": "Владелец" }, "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." + "message": "Высший пользовательский уровень доступа, который позволяет управлять всеми аспектами вашей организации." }, "admin": { - "message": "Admin" + "message": "Администратор" }, "adminDesc": { - "message": " Admins can access and manage all items, collections and users in your organization." + "message": " Администраторы могут получать доступ и управлять всеми элементами, коллекциями и пользователями в вашей организации." }, "user": { - "message": "User" + "message": "Пользователь" }, "userDesc": { - "message": "A regular user with access to your organization's collections." + "message": "Обычный пользователь с доступом к коллекциям вашей организации." }, "all": { - "message": "All" + "message": "Все" }, "refresh": { "message": "Обновить" }, "timestamp": { - "message": "Timestamp" + "message": "Метка времени" }, "event": { - "message": "Event" + "message": "Событие" }, "unknown": { - "message": "Unknown" + "message": "Неизвестно" }, "loadMore": { - "message": "Load More" + "message": "Загрузить еще" }, "mobile": { - "message": "Mobile", + "message": "Мобильный", "description": "Mobile app" }, "extension": { - "message": "Extension", + "message": "Расширение", "description": "Browser extension\/addon" }, "desktop": { - "message": "Desktop", + "message": "Компьютер", "description": "Desktop app" }, "webVault": { "message": "Веб-хранилище" }, "loggedIn": { - "message": "Logged in." + "message": "Вход выполнен." }, "changedPassword": { - "message": "Changed account password." + "message": "Изменен пароль учетной записи." }, "enabled2fa": { - "message": "Enabled two-step login." + "message": "Двухфакторная аутентификация включена." }, "disabled2fa": { - "message": "Disabled two-step login." + "message": "Двухфакторная аутентификация выключена." }, "recovered2fa": { "message": "Recovered account from two-step login." }, "failedLogin": { - "message": "Login attempt failed with incorrect password." + "message": "Ошибка входа из-за неправильного пароля." }, "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." + "message": "Ошибка входа из-за некорректной двухфакторной аутентификации." }, "editedOrgSettings": { - "message": "Edited organization settings." + "message": "Настройки организации изменены." }, "createdItemId": { - "message": "Created item $ID$.", + "message": "Создан элемент $ID$.", "placeholders": { "id": { "content": "$1", @@ -1888,7 +1895,7 @@ } }, "editedItemId": { - "message": "Edited item $ID$.", + "message": "Изменен элемент $ID$.", "placeholders": { "id": { "content": "$1", @@ -1897,7 +1904,7 @@ } }, "deletedItemId": { - "message": "Deleted item $ID$.", + "message": "Удален элемент $ID$.", "placeholders": { "id": { "content": "$1", @@ -1906,7 +1913,7 @@ } }, "sharedItemId": { - "message": "Shared item $ID$.", + "message": "Общий элемент $ID$.", "placeholders": { "id": { "content": "$1", @@ -1915,7 +1922,7 @@ } }, "createdCollectionId": { - "message": "Created collection $ID$.", + "message": "Создана коллекция $ID$.", "placeholders": { "id": { "content": "$1", @@ -1924,7 +1931,7 @@ } }, "editedCollectionId": { - "message": "Edited collection $ID$.", + "message": "Изменена коллекция $ID$.", "placeholders": { "id": { "content": "$1", @@ -1933,7 +1940,7 @@ } }, "deletedCollectionId": { - "message": "Deleted collection $ID$.", + "message": "Удалена коллекция $ID$.", "placeholders": { "id": { "content": "$1", @@ -1942,7 +1949,7 @@ } }, "createdGroupId": { - "message": "Created group $ID$.", + "message": "Создана группа $ID$.", "placeholders": { "id": { "content": "$1", @@ -1951,7 +1958,7 @@ } }, "editedGroupId": { - "message": "Edited group $ID$.", + "message": "Изменена группа $ID$.", "placeholders": { "id": { "content": "$1", @@ -1960,7 +1967,7 @@ } }, "deletedGroupId": { - "message": "Deleted group $ID$.", + "message": "Удалена группа $ID$.", "placeholders": { "id": { "content": "$1", @@ -1969,7 +1976,7 @@ } }, "removedUserId": { - "message": "Removed user $ID$.", + "message": "Удален пользователь $ID$.", "placeholders": { "id": { "content": "$1", @@ -1978,7 +1985,7 @@ } }, "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", + "message": "Создано вложение в элементе $ID$.", "placeholders": { "id": { "content": "$1", @@ -1987,7 +1994,7 @@ } }, "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", + "message": "Удалено вложение у элемента $ID$.", "placeholders": { "id": { "content": "$1", @@ -1996,7 +2003,7 @@ } }, "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", + "message": "Изменены коллекции для элемента $ID$.", "placeholders": { "id": { "content": "$1", @@ -2005,7 +2012,7 @@ } }, "invitedUserId": { - "message": "Invited user $ID$.", + "message": "Приглашен пользователь $ID$.", "placeholders": { "id": { "content": "$1", @@ -2014,7 +2021,7 @@ } }, "confirmedUserId": { - "message": "Confirmed user $ID$.", + "message": "Подтвержден пользователь $ID$.", "placeholders": { "id": { "content": "$1", @@ -2023,7 +2030,7 @@ } }, "editedUserId": { - "message": "Edited user $ID$.", + "message": "Изменен пользователь $ID$.", "placeholders": { "id": { "content": "$1", @@ -2032,7 +2039,7 @@ } }, "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", + "message": "Изменена группа у пользователя $ID$.", "placeholders": { "id": { "content": "$1", @@ -2041,37 +2048,37 @@ } }, "device": { - "message": "Device" + "message": "Устройство" }, "view": { - "message": "View" + "message": "Просмотр" }, "invalidDateRange": { - "message": "Invalid date range." + "message": "Недопустимый диапазон дат." }, "errorOccurred": { "message": "Произошла ошибка." }, "userAccess": { - "message": "User Access" + "message": "Доступ пользователя" }, "userType": { - "message": "User Type" + "message": "Тип пользователя" }, "groupAccess": { - "message": "Group Access" + "message": "Доступ к группе" }, "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." + "message": "Изменить группы, в которые входит этот пользователь." }, "invitedUsers": { - "message": "Invited user(s)." + "message": "Приглашенные пользователи." }, "resendInvitation": { - "message": "Resend Invitation" + "message": "Отправить повторно" }, "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", + "message": "$USER$ был приглашен повторно.", "placeholders": { "user": { "content": "$1", @@ -2080,10 +2087,10 @@ } }, "confirm": { - "message": "Confirm" + "message": "Подтвердить" }, "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", + "message": "$USER$ был подтвержден.", "placeholders": { "user": { "content": "$1", @@ -2092,136 +2099,136 @@ } }, "startDate": { - "message": "Start Date" + "message": "Дата начала" }, "endDate": { - "message": "End Date" + "message": "Дата окончания" }, "verifyEmail": { - "message": "Verify Email" + "message": "Подтвердить email" }, "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." + "message": "Подтвердите адрес email своей учетной записи, чтобы открыть доступ ко всем возможностям." }, "verifyEmailFirst": { - "message": "Your account's email address first must be verified." + "message": "Сначала необходимо подтвердить адрес email вашей учетной записи." }, "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." + "message": "Проверьте свой email для подтверждения ссылки." }, "emailVerified": { - "message": "Your email has been verified." + "message": "Ваш адрес email подтвержден." }, "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." + "message": "Не удалось подтвердить ваш email. Попробуйте отправить новое письмо с подтверждением." }, "updateBrowser": { - "message": "Update Browser" + "message": "Обновить браузер" }, "updateBrowserDesc": { "message": "Вы используете неподдерживаемый браузер. Веб-хранилище может работать некорректно." }, "joinOrganization": { - "message": "Join Organization" + "message": "Присоединиться к организации" }, "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Вас пригласили присоединиться к организации, указанной выше. Чтобы принять приглашение, вам необходимо осуществить вход или создать новую учетную запись Bitwarden." }, "inviteAccepted": { - "message": "Invitation Accepted" + "message": "Приглашение принято" }, "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + "message": "Вы можете получить доступ к этой организации, как только администратор подтвердит ваше членство. Когда это произойдет, мы отправим вам email." }, "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + "message": "Невозможно принять приглашение. Попросите администратора организации отправить новое приглашение." }, "rememberEmail": { "message": "Запомнить email" }, "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." + "message": "Если вы не можете получить доступ к своей учетной записи при помощи двухэтапной аутентификации, вы можете использовать свой код восстановления, чтобы отключить двухэтапную аутентификацию для вашей учетной записи." }, "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" + "message": "Восстановить двухфакторную аутентификацию аккаунта" }, "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." + "message": "Двухфакторная аутентификация для вашего аккаунта отключена." }, "learnMore": { "message": "Подробнее" }, "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." + "message": "Введите ваш адрес email, чтобы восстановить и удалить вашу учетную запись." }, "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." + "message": "Если ваша учетная запись существует, мы отправим вам email с дальнейшими инструкциями." }, "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." + "message": "Вы запросили удаление вашей учетной записи Bitwarden. Нажмите кнопку ниже, чтобы подтвердить." }, "myOrganization": { - "message": "My Organization" + "message": "Моя организация" }, "deleteOrganization": { - "message": "Delete Organization" + "message": "Удалить организацию" }, "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + "message": "Выполните следующие действия, чтобы удалить эту организацию и все связанные с ней данные. Индивидуальные учетные записи пользователей останутся, но они больше не будут связаны с этой организацией. " }, "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." + "message": "Удаление организации необратимо. Его нельзя отменить." }, "organizationDeleted": { - "message": "Organization Deleted" + "message": "Организация удалена" }, "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." + "message": "Организация и все связанные с ней данные были удалены." }, "organizationUpdated": { - "message": "Organization updated" + "message": "Организация обновлена" }, "taxInformation": { - "message": "Tax Information" + "message": "Информация о налогах" }, "taxInformationDesc": { - "message": "Please contact support to provide (or update) tax information for your invoices." + "message": "Обратитесь в службу поддержки для предоставления (или обновления) налоговой информации по вашим счетам." }, "billingPlan": { - "message": "Plan", + "message": "План", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Change Plan", + "message": "Изменить план", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", + "message": "Если вы хотите изменить свой план, обратитесь в службу поддержки. Убедитесь, что у вас есть активный способ оплаты, добавленный в учетную запись.", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "invoice": { - "message": "Invoice" + "message": "Счет" }, "verifyBankAccount": { - "message": "Verify Bank Account" + "message": "Подтвердить банковский счет" }, "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." + "message": "Мы сделали два микро-депозита на ваш банковский счет (появиться в выписке они могут в течение 1-2 рабочих дней). Введите эти суммы для подтверждения банковского счета." }, "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." + "message": "Оплата с банковского счета доступна только клиентам из США. Вам будет необходимо подтвердить свой банковский счет. Мы сделаем два микро-депозита в течение ближайших 1-2 рабочих дней. Введите эти суммы на странице выставления счетов организации, чтобы подтвердить банковский счет." }, "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." + "message": "Невыполнение подтверждения банковского счета приведет к неудачной оплате и отключению подписки." }, "verifiedBankAccount": { - "message": "Bank account has been verified." + "message": "Банковский счет был подтвержден." }, "bankAccount": { - "message": "Bank Account" + "message": "Банковский счет" }, "amountX": { - "message": "Amount $COUNT$", + "message": "Сумма $COUNT$", "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", "placeholders": { "count": { @@ -2231,37 +2238,37 @@ } }, "routingNumber": { - "message": "Routing Number", + "message": "Номер маршрута", "description": "Bank account routing number" }, "accountNumber": { - "message": "Account Number" + "message": "Номер счета" }, "accountHolderName": { - "message": "Account Holder Name" + "message": "Имя владельца счета" }, "bankAccountType": { - "message": "Account Type" + "message": "Тип счета" }, "bankAccountTypeCompany": { - "message": "Company (Business)" + "message": "Компания (бизнес)" }, "bankAccountTypeIndividual": { - "message": "Individual (Personal)" + "message": "Индивидуальный (личный)" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "Введите идентификатор установки" }, "addSeats": { - "message": "Add Seats", + "message": "Добавить лицензии", "description": "Seat = User Seat" }, "removeSeats": { - "message": "Remove Seats", + "message": "Удалить лицензии", "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", + "message": "Ваша подписка разрешает в общей сложности $COUNT$ пользователей.", "placeholders": { "count": { "content": "$1", @@ -2270,19 +2277,19 @@ } }, "seatsToAdd": { - "message": "Seats To Add" + "message": "Лицензии для добавления" }, "seatsToRemove": { - "message": "Seats To Remove" + "message": "Лицензии для удаления" }, "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + "message": "Добавление пользовательских лицензий приведет к корректировке итоговых счетов и немедленному взиманию платы с вашего метода оплаты. Первый платеж будет пропорционален оставшейся части текущего платежного периода." }, "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "Удаление пользовательских лицензий приведет к корректировке ваших итоговых счетов. Излишне уплаченные средства будут пропорционально перенесены на ваш следующий платежный период." }, "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", + "message": "Скорректировано $AMOUNT$ пользовательских лицензий.", "placeholders": { "amount": { "content": "$1", @@ -2291,61 +2298,96 @@ } }, "keyUpdated": { - "message": "Key Updated" + "message": "Ключ обновлен" }, "updateKeyTitle": { - "message": "Update Key" + "message": "Обновить ключ" }, "updateEncryptionKey": { - "message": "Update Encryption Key" + "message": "Обновить ключ шифрования" }, "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." + "message": "В настоящее время вы используете устаревшую схему шифрования." }, "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." + "message": "Мы перешли на более сложные ключи шифрования, которые обеспечивают лучшую безопасность и доступ к новым возможностям. Обновление ключа шифрования происходит быстро и легко. Просто введите свой мастер-пароль ниже. Это обновление в конечном итоге станет обязательным." }, "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + "message": "После обновления ключа шифрования необходимо выполнить выход во всех приложениях Bitwarden, которые вы используете (например, мобильное приложение или расширение браузера). Невыполнение этого требования может привести к повреждению данных (при этом загружается ваш новый ключ шифрования). Мы попытаемся автоматически осуществить завершение вашей сессии, однако это может произойти с задержкой." }, "subscription": { - "message": "Subscription" + "message": "Подписка" }, "loading": { - "message": "Loading" + "message": "Загрузка" }, "upgrade": { - "message": "Upgrade" + "message": "Обновить" }, "upgradeOrganization": { - "message": "Upgrade Organization" + "message": "Обновление организации" }, "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + "message": "Эта функция недоступна для бесплатных организаций. Переключитесь на платный план, чтобы разблокировать дополнительные возможности." }, "createOrganizationStep1": { - "message": "Create Organization: Step 1" + "message": "Создание организации: Шаг 1" }, "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." + "message": "Прежде чем создавать свою организацию, сначала необходимо создать бесплатную персональную учетную запись." }, "refunded": { - "message": "Refunded" + "message": "Возвращено" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "Вы ничего не выбрали." }, "submitAgreePolicies": { - "message": "By clicking the \"Submit\" button, you agree to the following policies:", + "message": "Нажимая кнопку Отправить, вы принимаете следующие правила:", "description": "A policy is something like Terms of Service, Privacy Policy, etc." }, "termsOfService": { - "message": "Terms of Service" + "message": "Условия использования" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "Политика конфиденциальности" }, "filters": { - "message": "Filters" + "message": "Фильтры" + }, + "lockOptions": { + "message": "Параметры блокировки" + }, + "lockOptionsDesc": { + "message": "Выберите условие блокировки вашего хранилища. Для его разблокировки потребуется повторно ввести мастер-пароль." + }, + "oneMinute": { + "message": "Через 1 минуту" + }, + "fiveMinutes": { + "message": "Через 5 минут" + }, + "fifteenMinutes": { + "message": "Через 15 минут" + }, + "thirtyMinutes": { + "message": "Через 30 минут" + }, + "oneHour": { + "message": "Через 1 час" + }, + "fourHours": { + "message": "Через 4 часа" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Обновлено", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Пароль обновлен", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/sk/messages.json b/locales/sk/messages.json index 8d875564..0e74f989 100644 --- a/locales/sk/messages.json +++ b/locales/sk/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Ikony stránok poskytujú rozoznateľný obrázok vedľa každého prihlasovacieho údaju vo webovom trezore." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Predvolené" }, @@ -2346,6 +2353,41 @@ "message": "Zásady ochrany osobných údajov" }, "filters": { - "message": "Filters" + "message": "Filtre" + }, + "lockOptions": { + "message": "Možnosti uzamknutia" + }, + "lockOptionsDesc": { + "message": "Vyberte kedy sa trezor uzamkne. Uzamknutý trezor sa dá odomknúť opätovným zadaním hlavného hesla." + }, + "oneMinute": { + "message": "1 minúta" + }, + "fiveMinutes": { + "message": "5 minút" + }, + "fifteenMinutes": { + "message": "15 minút" + }, + "thirtyMinutes": { + "message": "30 minút" + }, + "oneHour": { + "message": "1 hodina" + }, + "fourHours": { + "message": "4 hodiny" + }, + "onRefresh": { + "message": "Pri obnovení stránky" + }, + "dateUpdated": { + "message": "Aktualizované", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Heslo bolo aktualizované", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/sv/messages.json b/locales/sv/messages.json index d37884d6..4c87e6d6 100644 --- a/locales/sv/messages.json +++ b/locales/sv/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Website Icons provide a recognizable image next to each login item in your vault." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Default" }, @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/uk/messages.json b/locales/uk/messages.json index 5224b552..4aa1081b 100644 --- a/locales/uk/messages.json +++ b/locales/uk/messages.json @@ -955,6 +955,13 @@ "disableIconsDesc": { "message": "Website Icons provide a recognizable image next to each login item in your vault." }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, "default": { "message": "Default" }, @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/zh_CN/messages.json b/locales/zh_CN/messages.json index 9ea1dbfe..6722b3b8 100644 --- a/locales/zh_CN/messages.json +++ b/locales/zh_CN/messages.json @@ -385,154 +385,154 @@ "message": "密码库" }, "shareSelected": { - "message": "Share Selected" + "message": "分享所选" }, "deleteSelected": { - "message": "Delete Selected" + "message": "删除所选" }, "moveSelected": { - "message": "Move Selected" + "message": "移动所选" }, "selectAll": { - "message": "Select All" + "message": "全选" }, "unselectAll": { - "message": "Unselect All" + "message": "取消全选" }, "launch": { - "message": "Launch" + "message": "启动" }, "newAttachment": { - "message": "Add New Attachment" + "message": "添加新附件" }, "deletedAttachment": { - "message": "Deleted attachment" + "message": "附件已删除" }, "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" + "message": "确定删除这个附件?" }, "attachmentSaved": { - "message": "The attachment has been saved." + "message": "附件已保存。" }, "file": { - "message": "File" + "message": "文件" }, "selectFile": { - "message": "Select a file." + "message": "选择一个文件。" }, "maxFileSize": { - "message": "Maximum file size is 100 MB." + "message": "文件最大为 100 MB。" }, "updateKey": { - "message": "You cannot use this feature until you update your encryption key." + "message": "在您更新加密密钥前,您不能使用此功能。" }, "addedItem": { - "message": "Added item" + "message": "已添加的项目" }, "editedItem": { - "message": "Edited item" + "message": "已编辑的项目" }, "sharedItem": { - "message": "Shared item" + "message": "已共享的项目" }, "sharedItems": { - "message": "Shared items" + "message": "已共享的项目" }, "deleteItem": { - "message": "Delete Item" + "message": "删除项目" }, "deleteFolder": { - "message": "Delete Folder" + "message": "删除文件夹" }, "deleteAttachment": { - "message": "Delete Attachment" + "message": "删除附件" }, "deleteItemConfirmation": { - "message": "Are you sure you want to delete this item?" + "message": "确实要删除此项目吗?" }, "deletedItem": { - "message": "Deleted item" + "message": "已删除的项目" }, "deletedItems": { - "message": "Deleted items" + "message": "已删除的项目" }, "movedItems": { - "message": "Moved items" + "message": "已移动的项目" }, "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" + "message": "您确定要覆盖当前密码吗?" }, "editedFolder": { - "message": "Edited folder" + "message": "已编辑的文件夹" }, "addedFolder": { - "message": "Added folder" + "message": "已添加的文件夹" }, "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" + "message": "您确定要删除此文件夹吗?" }, "deletedFolder": { - "message": "Deleted folder" + "message": "已删除的文件夹" }, "loggedOut": { - "message": "Logged out" + "message": "已登出" }, "loginExpired": { - "message": "Your login session has expired." + "message": "您的登录会话已过期。" }, "logOutConfirmation": { - "message": "Are you sure you want to log out?" + "message": "您确定要登出吗?" }, "logOut": { - "message": "Log Out" + "message": "登出" }, "ok": { - "message": "Ok" + "message": "确定" }, "yes": { - "message": "Yes" + "message": "是" }, "no": { - "message": "No" + "message": "否" }, "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." + "message": "登录或者新建一个账号来访问您的安全密码库。" }, "createAccount": { - "message": "Create Account" + "message": "创建账号" }, "logIn": { - "message": "Log In" + "message": "登录" }, "submit": { - "message": "Submit" + "message": "提交" }, "emailAddressDesc": { - "message": "You'll use your email address to log in." + "message": "您将使用您的电子邮件地址登录。" }, "yourName": { - "message": "Your Name" + "message": "您的姓名" }, "yourNameDesc": { - "message": "What should we call you?" + "message": "我们应该怎么称呼您?" }, "masterPass": { - "message": "Master Password" + "message": "主密码" }, "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." + "message": "主密码是访问密码库的唯一密码。它非常重要,请您不要忘记。忘记主密码后,我们无法为您恢复或重置账户。" }, "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." + "message": "主密码提示可以在你忘记密码时帮你回忆起来。" }, "reTypeMasterPass": { - "message": "Re-type Master Password" + "message": "确认主密码" }, "masterPassHint": { - "message": "Master Password Hint (optional)" + "message": "主密码提示 (可选)" }, "masterPassHintLabel": { - "message": "Master Password Hint" + "message": "主密码提示" }, "settings": { "message": "设置" @@ -562,7 +562,7 @@ "message": "两次填写的主密码不一致。" }, "newAccountCreated": { - "message": "已经为您建立了账户,您可以登录了。" + "message": "已经为您建立了帐户,您可以登录了。" }, "masterPassSent": { "message": "我们已经为您发送了包含主密码提示的邮件。" @@ -604,7 +604,7 @@ "message": "新的组织" }, "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." + "message": "您没有加入任何组织。同一组织的用户可以安全地共享密钥等内容。" }, "versionNumber": { "message": "版本: $VERSION_NUMBER$", @@ -655,46 +655,46 @@ "message": "登录不可用" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "此账户已启用两步验证,但是这个浏览器不支持已经启用的两步验证方式。" }, "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and\/or add additional providers that are better supported across web browsers (such as an authenticator app)." + "message": "请使用支持的浏览器(例如 Chrome)或者添加其他的验证方法(例如验证器应用)。" }, "twoStepOptions": { - "message": "Two-step Login Options" + "message": "两步验证选项" }, "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." + "message": "不能通过两步验证?使用您的恢复代码来为您的账户禁用所有两步验证方式。" }, "recoveryCodeTitle": { - "message": "Recovery Code" + "message": "恢复代码" }, "authenticatorAppTitle": { - "message": "Authenticator App" + "message": "验证器应用" }, "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", + "message": "使用身份验证器应用(例如 Authy 或 Google Authenticator)来生成基于时间的验证码。", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" + "message": "YubiKey OTP 安全密钥" }, "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices." + "message": "使用 YubiKey 来访问您的账户。支持 YubiKey 4、4 Nano、4C 和 NEO 。" }, "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "使用 Duo Security 的 Duo Mobile 应用、短信、电话或 U2F 安全钥匙验证身份。", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "使用 Duo Security 的 Duo Mobile 应用、短信、电话或 U2F 安全钥匙验证身份。", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." + "message": "使用 FIDO U2F 安全密钥来访问您的帐户。" }, "u2fTitle": { - "message": "FIDO U2F Security Key" + "message": "FIDO U2F 安全密钥" }, "emailTitle": { "message": "Email" @@ -706,22 +706,22 @@ "message": "继续" }, "organization": { - "message": "Organization" + "message": "组织" }, "organizations": { - "message": "Organizations" + "message": "组织" }, "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." + "message": "选择您希望与之共享此项目的组织。共享将项目的所有权转移到组织。一旦共享, 您将不再是此项目的直接所有者。" }, "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." + "message": "选择您希望与之共享这些项目的组织。共享将项目的所有权转移到组织。一旦共享, 您将不再是这些项目的直接所有者。" }, "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." + "message": "编辑与此项共享的集合。只有具有这些集合访问权限的组织用户才能看到此项目。" }, "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", + "message": "您选择了要删除 $COUNT$ 个项目。确实要删除所有这些项目吗?", "placeholders": { "count": { "content": "$1", @@ -730,7 +730,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", + "message": "选择要将这 $COUNT$ 个项目移动到的文件夹。", "placeholders": { "count": { "content": "$1", @@ -739,7 +739,7 @@ } }, "shareSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not. Items with attachments must be shared individually.", + "message": "您选择了 $COUNT$ 项。其中有 $SHAREABLE_COUNT$ 项是可以共享的, $NONSHAREABLE_COUNT$ 项不能。具有附件的项目必须单独共享。", "placeholders": { "count": { "content": "$1", @@ -756,68 +756,68 @@ } }, "verificationCodeTotp": { - "message": "Verification Code (TOTP)" + "message": "验证码 (TOTP)" }, "copyVerificationCode": { - "message": "Copy Verification Code" + "message": "复制验证码" }, "warning": { - "message": "Warning" + "message": "警告" }, "exportWarning": { - "message": "This export contains your unencrypted data in .csv format. You should not store or send it over unsecure channels (such as email). Delete it immediately after your are done using it." + "message": "导出会将你的数据存储成未经加密的 .csv 文件。你不应该长期保存,或者通过不加密的方式传送这个文件(例如电子邮件)。请在使用完之后立即删除这个文件。" }, "exportMasterPassword": { - "message": "Enter your master password to export your vault data." + "message": "输入主密码来导出你的密码库。" }, "exportVault": { - "message": "Export Vault" + "message": "导出密码库" }, "exportSuccess": { - "message": "Your vault data has been exported." + "message": "已经导出您的密码库数据。" }, "passwordGenerator": { - "message": "Password Generator" + "message": "密码生成器" }, "minNumbers": { - "message": "Minimum Numbers" + "message": "最小位数" }, "minSpecial": { - "message": "Minimum Special", + "message": "最少特殊符号", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Avoid Ambiguous Characters" + "message": "避免模棱两可" }, "regeneratePassword": { - "message": "Regenerate Password" + "message": "重新生成密码" }, "length": { - "message": "Length" + "message": "长度" }, "passwordHistory": { - "message": "Password History" + "message": "密码历史记录" }, "noPasswordsInList": { - "message": "There are no passwords to list." + "message": "没有要显示的项目。" }, "clear": { - "message": "Clear" + "message": "清除" }, "accountUpdated": { - "message": "Account Updated" + "message": "帐户已更新" }, "changeEmail": { - "message": "Change Email" + "message": "更改电子邮件" }, "newEmail": { - "message": "New Email" + "message": "新电子邮件" }, "code": { - "message": "Code" + "message": "代码" }, "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize your the email address change.", + "message": "我们已将验证码发送到 $EMAIL$。请检查您的电子邮件, 在下方输入验证码, 以确认您的电子邮件地址更改。", "placeholders": { "email": { "content": "$1", @@ -826,106 +826,106 @@ } }, "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + "message": "接下来将会注销您当前的会话, 要求您重新登录。其他设备上的活动会话可能会继续保持最多一小时。" }, "emailChanged": { - "message": "Email Changed" + "message": "电子邮件已更改" }, "logBackIn": { - "message": "Please log back in." + "message": "请重新登录。" }, "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." + "message": "请重新登录。如果您还在使用其他 Bitwarden 应用程序, 也请注销并重新登陆。" }, "changeMasterPassword": { - "message": "Change Master Password" + "message": "修改主密码" }, "masterPasswordChanged": { - "message": "Master Password Changed" + "message": "主密码已修改" }, "currentMasterPass": { - "message": "Current Master Password" + "message": "验证当前主密码" }, "newMasterPass": { - "message": "New Master Password" + "message": "输入新主密码" }, "confirmNewMasterPass": { - "message": "Confirm New Master Password" + "message": "确认新主密码" }, "dangerZone": { - "message": "Danger Zone" + "message": "危险操作区" }, "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" + "message": "小心, 这些动作是不可逆的!" }, "deauthorizeSessions": { - "message": "Deauthorize Sessions" + "message": "取消会话" }, "deauthorizeSessionsDesc": { "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public PC or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." }, "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." + "message": "接下来将会注销您当前的会话, 要求您重新登录。如果有两步验证,也需要重新验证。其他设备上的活动会话可能会继续保持最多一小时。" }, "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" + "message": "所有会话未经授权" }, "purgeVault": { - "message": "Purge Vault" + "message": "清空密码库" }, "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." + "message": "接下来的操作会删除密码库中的所有项目和文件夹。属于组织的共享项目将不会被删除。" }, "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." + "message": "清空密码库是永久性的。不能被撤消。" }, "vaultPurged": { - "message": "Your vault has been purged." + "message": "你的密码库已经被清空。" }, "deleteAccount": { - "message": "Delete Account" + "message": "删除帐户" }, "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." + "message": "会删除您的帐户和所有相关数据。" }, "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." + "message": "删除帐户是永久性的。不能被撤消。" }, "accountDeleted": { - "message": "Account Deleted" + "message": "帐户已被删除" }, "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." + "message": "您的帐户已关闭, 所有相关数据已被删除。" }, "myAccount": { - "message": "My Account" + "message": "我的帐户" }, "tools": { - "message": "Tools" + "message": "工具" }, "importData": { - "message": "Import Data" + "message": "导入数据" }, "importSuccess": { - "message": "Data has been successfully imported into your vault." + "message": "数据已经成功导入到密码库" }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "数据格式不正确。请检查您的导入文件并重试。" }, "importNothingError": { - "message": "Nothing was imported." + "message": "没有导入任何内容。" }, "selectFormat": { - "message": "Select the format of the import file" + "message": "选择导入文件的格式" }, "selectImportFile": { - "message": "Select the import file" + "message": "选择导入文件" }, "orCopyPasteFileContents": { - "message": "or copy\/paste the import file contents" + "message": "或粘贴导入文件的内容" }, "instructionsFor": { - "message": "$NAME$ Instructions", + "message": "$NAME$ 文件说明", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -935,58 +935,65 @@ } }, "options": { - "message": "Options" + "message": "选项" }, "optionsDesc": { - "message": "Customize your web vault experience." + "message": "个性化你的体验。" }, "optionsUpdated": { - "message": "Options updated" + "message": "选项已更新" }, "language": { - "message": "Language" + "message": "语言" }, "languageDesc": { - "message": "Change the language used by the web vault." + "message": "更改使用的语言。" }, "disableIcons": { - "message": "Disable Website Icons" + "message": "禁用网站图标" }, "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." + "message": "在您密码库的每个登录项旁显示一个容易区分的图标。" + }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." }, "default": { - "message": "Default" + "message": "默认" }, "domainRules": { - "message": "Domain Rules" + "message": "域名规则" }, "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." + "message": "如果你在多个不同网站使用同样的登陆信息,你可以把这些网站标记为“通用”。Bitwarden会帮你设置“全局”域名。" }, "globalEqDomains": { - "message": "Global Equivalent Domains" + "message": "全局通用域名" }, "customEqDomains": { - "message": "Custom Equivalent Domains" + "message": "自定义通用域名" }, "exclude": { - "message": "Exclude" + "message": "排除" }, "include": { - "message": "Include" + "message": "包括" }, "customize": { - "message": "Customize" + "message": "自定义" }, "newCustomDomain": { - "message": "New Custom Domain" + "message": "添加自定义域名" }, "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp:\/\/package.name\" to associate an android app with other website domains." + "message": "输入用逗号分隔的域列表。只能使用顶级域名。不需要输入二级域名。例如,输入 \"google.com\" 而不是 \"www.google.com\"。您也可以输入 \"androidapp:\/\/package.name\" 将 android 应用程序与其他网站域名关联。" }, "customDomainX": { - "message": "Custom Domain $INDEX$", + "message": "自定义域名 $INDEX$", "placeholders": { "index": { "content": "$1", @@ -995,84 +1002,84 @@ } }, "domainsUpdated": { - "message": "Domains updated" + "message": "域名已更新" }, "twoStepLogin": { - "message": "Two-step Login" + "message": "两步登录" }, "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." + "message": "在登录时需要额外的步骤来保护您的帐户。" }, "twoStepLoginOrganizationDesc": { "message": "Require two-step login for your organization's users by configuring providers at the organization level." }, "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." + "message": "启用两步登录可以永久地锁定您的Bitwarden 帐户。恢复代码允许您在无法正常使用两步登录的情况(例如你丢失了你的设备)下访问您的帐户。如果您无法访问您的帐户,Bitwarden 无法帮助您。我们建议您记下或打印恢复代码,并将其妥善保管。" }, "viewRecoveryCode": { - "message": "View Recovery Code" + "message": "查看恢复码" }, "providers": { - "message": "Providers", + "message": "提供方", "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { - "message": "Enable" + "message": "启用" }, "enabled": { - "message": "Enabled" + "message": "已启用" }, "premium": { - "message": "Premium", + "message": "高级版", "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Membership" + "message": "高级会员" }, "premiumRequired": { - "message": "Premium Required" + "message": "需要高级版" }, "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." + "message": "使用此功能需要高级会员资格。" }, "manage": { - "message": "Manage" + "message": "管理" }, "disable": { - "message": "Disable" + "message": "停用" }, "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." + "message": "您的帐户已经启动两步验证。" }, "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." + "message": "输入主密码以修改两步验证设置。" }, "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" + "message": "按照以下步骤,使用身份验证程序设置两步验证:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" + "message": "下载两步验证应用程序" }, "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" + "message": "没有两步验证程序?可以下载以下应用" }, "iosDevices": { - "message": "iOS devices" + "message": "iOS 设备" }, "androidDevices": { - "message": "Android devices" + "message": "安卓设备" }, "windowsDevices": { - "message": "Windows devices" + "message": "Windows 设备" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "只是推荐使用这些应用,其它的身份验证应用也可以" }, "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" + "message": "使用身份验证应用扫描这个二维码" }, "key": { - "message": "Key" + "message": "密钥" }, "twoStepAuthenticatorEnterCode": { "message": "Enter the resulting 6 digit verification code from the app" @@ -1084,10 +1091,10 @@ "message": "Are you sure you want to disable this two-step login provider?" }, "twoStepDisabled": { - "message": "Two-step login provider disabled." + "message": "已禁用两步登录提供程序。" }, "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" + "message": "向您的帐户添加新 YubiKey" }, "twoFactorYubikeyPlugIn": { "message": "Plug the YubiKey (NEO or 4 series) into your computer's USB port." @@ -1096,10 +1103,10 @@ "message": "Select in the first empty YubiKey input field below." }, "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." + "message": "按下 YubiKey 的按钮。" }, "twoFactorYubikeySaveForm": { - "message": "Save the form." + "message": "保存表单" }, "twoFactorYubikeyWarning": { "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" @@ -1120,7 +1127,7 @@ } }, "nfcSupport": { - "message": "NFC Support" + "message": "NFC 支持" }, "twoFactorYubikeySupportsNfc": { "message": "One of my keys supports NFC." @@ -1141,7 +1148,7 @@ "message": "Integration Key" }, "twoFactorDuoSecretKey": { - "message": "Secret Key" + "message": "安全秘钥" }, "twoFactorDuoApiHostname": { "message": "API Hostname" @@ -1156,7 +1163,7 @@ "message": "Enter the resulting 6 digit verification code from the email" }, "sendEmail": { - "message": "Send Email" + "message": "发送电子邮件" }, "twoFactorU2fAdd": { "message": "Add a FIDO U2F security key to your account" @@ -1193,10 +1200,10 @@ "description": "Print 2FA recovery code" }, "reports": { - "message": "Reports" + "message": "报告" }, "dataBreachReport": { - "message": "Data Breach Report" + "message": "数据泄露报告" }, "breachDesc": { "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." @@ -1217,7 +1224,7 @@ } }, "goodNews": { - "message": "Good News", + "message": "好消息", "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { @@ -1240,10 +1247,10 @@ "message": "Compromised data" }, "website": { - "message": "Website" + "message": "网站" }, "affectedUsers": { - "message": "Affected Users" + "message": "受影响的用户" }, "breachOccurred": { "message": "Breach Occurred" @@ -1268,7 +1275,7 @@ "message": "Upgrade your account to a premium membership and unlock some great additional features." }, "premiumSignUpStorage": { - "message": "1 GB of encrypted file storage." + "message": "1 GB 加密文件存储。" }, "premiumSignUpTwoStep": { "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." @@ -1314,16 +1321,16 @@ } }, "summary": { - "message": "Summary" + "message": "概要" }, "total": { - "message": "Total" + "message": "全部" }, "year": { - "message": "year" + "message": "年" }, "month": { - "message": "month" + "message": "月" }, "monthAbbr": { "message": "mo.", @@ -1345,16 +1352,16 @@ "message": "Payment Information" }, "creditCard": { - "message": "Credit Card" + "message": "信用卡" }, "paypalClickSubmit": { "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." }, "cancelSubscription": { - "message": "Cancel Subscription" + "message": "取消订阅" }, "subscriptionCanceled": { - "message": "The subscription has been canceled." + "message": "您的订购已取消。" }, "pendingCancellation": { "message": "Pending Cancellation" @@ -1378,10 +1385,10 @@ "message": "The subscription has been canceled." }, "neverExpires": { - "message": "Never Expires" + "message": "永不过期" }, "status": { - "message": "Status" + "message": "状态" }, "nextCharge": { "message": "Next Charge" @@ -2347,5 +2354,40 @@ }, "filters": { "message": "Filters" + }, + "lockOptions": { + "message": "Lock Options" + }, + "lockOptionsDesc": { + "message": "Choose when your vault locks. A locked vault requires that you re-enter your master password to access it again." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/locales/zh_TW/messages.json b/locales/zh_TW/messages.json index d37884d6..c28810ad 100644 --- a/locales/zh_TW/messages.json +++ b/locales/zh_TW/messages.json @@ -1,6 +1,6 @@ { "pageTitle": { - "message": "$APP_NAME$ Web Vault", + "message": "$APP_NAME$ 網頁版密碼庫", "description": "The title of the website in the browser window.", "placeholders": { "app_name": { @@ -10,10 +10,10 @@ } }, "whatTypeOfItem": { - "message": "What type of item is this?" + "message": "帳戶類型為何?" }, "name": { - "message": "Name" + "message": "名稱" }, "uri": { "message": "URI" @@ -29,94 +29,94 @@ } }, "newUri": { - "message": "New URI" + "message": "新增 URI" }, "username": { - "message": "Username" + "message": "使用者名稱" }, "password": { - "message": "Password" + "message": "密碼" }, "notes": { - "message": "Notes" + "message": "筆記" }, "customFields": { - "message": "Custom Fields" + "message": "自訂欄位" }, "cardholderName": { - "message": "Cardholder Name" + "message": "持卡人姓名" }, "number": { - "message": "Number" + "message": "號碼" }, "brand": { - "message": "Brand" + "message": "品牌" }, "expiration": { - "message": "Expiration" + "message": "到期" }, "securityCode": { - "message": "Security Code (CVV)" + "message": "安全碼 (CVV)" }, "identityName": { - "message": "Identity Name" + "message": "身分名稱" }, "company": { - "message": "Company" + "message": "公司" }, "ssn": { - "message": "Social Security Number" + "message": "社會保險號碼" }, "passportNumber": { - "message": "Passport Number" + "message": "護照號碼" }, "licenseNumber": { - "message": "License Number" + "message": "許可證編號" }, "email": { - "message": "Email" + "message": "電子郵件" }, "phone": { - "message": "Phone" + "message": "電話號碼" }, "january": { - "message": "January" + "message": "一月" }, "february": { - "message": "February" + "message": "二月" }, "march": { - "message": "March" + "message": "三月" }, "april": { - "message": "April" + "message": "四月" }, "may": { - "message": "May" + "message": "五月" }, "june": { - "message": "June" + "message": "六月" }, "july": { - "message": "July" + "message": "七月" }, "august": { - "message": "August" + "message": "八月" }, "september": { - "message": "September" + "message": "九月" }, "october": { - "message": "October" + "message": "十月" }, "november": { - "message": "November" + "message": "十一月" }, "december": { - "message": "December" + "message": "十二月" }, "title": { - "message": "Title" + "message": "稱呼" }, "mr": { "message": "Mr" @@ -131,87 +131,87 @@ "message": "Dr" }, "expirationMonth": { - "message": "Expiration Month" + "message": "到期月份" }, "expirationYear": { - "message": "Expiration Year" + "message": "到期年份" }, "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" + "message": "驗證器金鑰 (TOTP)" }, "folder": { - "message": "Folder" + "message": "資料夾" }, "newCustomField": { - "message": "New Custom Field" + "message": "新增自訂欄位" }, "value": { - "message": "Value" + "message": "值" }, "cfTypeText": { - "message": "Text" + "message": "文字" }, "cfTypeHidden": { - "message": "Hidden" + "message": "隱藏" }, "cfTypeBoolean": { - "message": "Boolean" + "message": "布林值" }, "remove": { - "message": "Remove" + "message": "移除" }, "unassigned": { - "message": "Unassigned" + "message": "未指派" }, "noneFolder": { - "message": "No Folder", + "message": "(未分類)", "description": "This is the folder for uncategorized items" }, "addFolder": { - "message": "Add Folder" + "message": "新增資料夾" }, "editFolder": { - "message": "Edit Folder" + "message": "編輯資料夾" }, "baseDomain": { - "message": "Base domain" + "message": "基底網域" }, "host": { - "message": "Host", + "message": "主機", "description": "A URL's host value. For example, the host of https:\/\/sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { - "message": "Exact" + "message": "完全符合" }, "startsWith": { - "message": "Starts with" + "message": "開始於" }, "regEx": { - "message": "Regular expression", + "message": "規則運算式", "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Match Detection", + "message": "相符偵測", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Default match detection", + "message": "預設相符偵測", "description": "Default URI match detection for auto-fill." }, "never": { - "message": "Never" + "message": "永不" }, "toggleVisibility": { - "message": "Toggle Visibility" + "message": "切換可見度" }, "generatePassword": { - "message": "Generate Password" + "message": "產生密碼" }, "checkPassword": { - "message": "Check if password has been exposed." + "message": "檢查密碼是否已外洩。" }, "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", + "message": "此密碼已外洩了 $VALUE$ 次,應立即變更密碼。", "placeholders": { "value": { "content": "$1", @@ -220,132 +220,132 @@ } }, "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." + "message": "任何已知的外洩密碼資料庫中都沒有此密碼,它目前是安全的。" }, "save": { - "message": "Save" + "message": "儲存" }, "cancel": { - "message": "Cancel" + "message": "取消" }, "canceled": { - "message": "Canceled" + "message": "已取消" }, "close": { - "message": "Close" + "message": "關閉" }, "delete": { - "message": "Delete" + "message": "刪除" }, "favorite": { - "message": "Favorite" + "message": "我的最愛" }, "unfavorite": { - "message": "Unfavorite" + "message": "取消收藏" }, "edit": { - "message": "Edit" + "message": "編輯" }, "searchCollection": { - "message": "Search Collection" + "message": "搜尋收藏" }, "searchFolder": { - "message": "Search Folder" + "message": "搜尋資料夾" }, "searchFavorites": { - "message": "Search Favorites" + "message": "搜尋我的最愛" }, "searchType": { - "message": "Search Type", + "message": "搜尋類型", "description": "Search item type" }, "searchVault": { - "message": "Search Vault" + "message": "搜尋" }, "allItems": { - "message": "All Items" + "message": "所有項目" }, "favorites": { - "message": "Favorites" + "message": "我的最愛" }, "types": { - "message": "Types" + "message": "類型" }, "typeLogin": { - "message": "Login" + "message": "登入" }, "typeCard": { - "message": "Card" + "message": "信用卡" }, "typeIdentity": { - "message": "Identity" + "message": "身分" }, "typeSecureNote": { - "message": "Secure Note" + "message": "安全筆記" }, "folders": { - "message": "Folders" + "message": "資料夾" }, "collections": { - "message": "Collections" + "message": "收藏" }, "firstName": { - "message": "First Name" + "message": "名" }, "middleName": { - "message": "Middle Name" + "message": "中間名" }, "lastName": { - "message": "Last Name" + "message": "姓" }, "address1": { - "message": "Address 1" + "message": "地址 1" }, "address2": { - "message": "Address 2" + "message": "地址 2" }, "address3": { - "message": "Address 3" + "message": "地址 3" }, "cityTown": { - "message": "City \/ Town" + "message": "市\/鎮" }, "stateProvince": { - "message": "State \/ Province" + "message": "州\/省" }, "zipPostalCode": { - "message": "Zip \/ Postal Code" + "message": "郵遞區號" }, "country": { - "message": "Country" + "message": "國家" }, "shared": { - "message": "Shared" + "message": "共用" }, "attachments": { - "message": "Attachments" + "message": "附件" }, "select": { - "message": "Select" + "message": "選擇" }, "addItem": { - "message": "Add Item" + "message": "新增項目" }, "editItem": { - "message": "Edit Item" + "message": "編輯項目" }, "ex": { - "message": "ex.", + "message": "例如", "description": "Short abbreviation for 'example'." }, "other": { - "message": "Other" + "message": "其他" }, "share": { - "message": "Share" + "message": "分享" }, "valueCopied": { - "message": "$VALUE$ copied", + "message": "已複製 $VALUE$", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -355,259 +355,259 @@ } }, "copyValue": { - "message": "Copy Value", + "message": "複製值", "description": "Copy value to clipboard" }, "copyPassword": { - "message": "Copy Password", + "message": "複製密碼", "description": "Copy password to clipboard" }, "copyUsername": { - "message": "Copy Username", + "message": "複製使用者名稱", "description": "Copy username to clipboard" }, "copyNumber": { - "message": "Copy Number", + "message": "複製號碼", "description": "Copy credit card number" }, "copySecurityCode": { - "message": "Copy Security Code", + "message": "複製安全代碼", "description": "Copy credit card security code (CVV)" }, "copyUri": { - "message": "Copy URI", + "message": "複製 URI", "description": "Copy URI to clipboard" }, "myVault": { - "message": "My Vault" + "message": "密碼庫" }, "vault": { - "message": "Vault" + "message": "密碼庫" }, "shareSelected": { - "message": "Share Selected" + "message": "分享選取的項目" }, "deleteSelected": { - "message": "Delete Selected" + "message": "刪除選取的項目" }, "moveSelected": { - "message": "Move Selected" + "message": "移動選取的項目" }, "selectAll": { - "message": "Select All" + "message": "全選" }, "unselectAll": { - "message": "Unselect All" + "message": "取消全選" }, "launch": { - "message": "Launch" + "message": "啟動" }, "newAttachment": { - "message": "Add New Attachment" + "message": "新增附件" }, "deletedAttachment": { - "message": "Deleted attachment" + "message": "附件已刪除" }, "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" + "message": "確定要刪除此附件嗎?" }, "attachmentSaved": { - "message": "The attachment has been saved." + "message": "附件已儲存。" }, "file": { - "message": "File" + "message": "檔案" }, "selectFile": { - "message": "Select a file." + "message": "選擇檔案。" }, "maxFileSize": { - "message": "Maximum file size is 100 MB." + "message": "最大檔案大小為 100MB。" }, "updateKey": { - "message": "You cannot use this feature until you update your encryption key." + "message": "更新加密金鑰前不能使用此功能。" }, "addedItem": { - "message": "Added item" + "message": "新增項目" }, "editedItem": { - "message": "Edited item" + "message": "已編輯項目" }, "sharedItem": { - "message": "Shared item" + "message": "已分享項目" }, "sharedItems": { - "message": "Shared items" + "message": "已分享項目" }, "deleteItem": { - "message": "Delete Item" + "message": "刪除項目" }, "deleteFolder": { - "message": "Delete Folder" + "message": "刪除資料夾" }, "deleteAttachment": { - "message": "Delete Attachment" + "message": "刪除附件" }, "deleteItemConfirmation": { - "message": "Are you sure you want to delete this item?" + "message": "確定要刪除此項目嗎?" }, "deletedItem": { - "message": "Deleted item" + "message": "已刪除項目" }, "deletedItems": { - "message": "Deleted items" + "message": "已刪除項目" }, "movedItems": { - "message": "Moved items" + "message": "已移動項目" }, "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" + "message": "您確定要覆寫目前的密碼嗎?" }, "editedFolder": { - "message": "Edited folder" + "message": "已編輯資料夾" }, "addedFolder": { - "message": "Added folder" + "message": "已新增資料夾" }, "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" + "message": "您確定要刪除此資料夾嗎?" }, "deletedFolder": { - "message": "Deleted folder" + "message": "已刪除的資料夾" }, "loggedOut": { - "message": "Logged out" + "message": "已登出" }, "loginExpired": { - "message": "Your login session has expired." + "message": "您的登入階段已過期。" }, "logOutConfirmation": { - "message": "Are you sure you want to log out?" + "message": "您確定要登出嗎?" }, "logOut": { - "message": "Log Out" + "message": "登出" }, "ok": { - "message": "Ok" + "message": "好" }, "yes": { - "message": "Yes" + "message": "是" }, "no": { - "message": "No" + "message": "否" }, "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." + "message": "登入或新增帳戶。" }, "createAccount": { - "message": "Create Account" + "message": "新增帳戶" }, "logIn": { - "message": "Log In" + "message": "登入" }, "submit": { - "message": "Submit" + "message": "送出" }, "emailAddressDesc": { "message": "You'll use your email address to log in." }, "yourName": { - "message": "Your Name" + "message": "您的姓名" }, "yourNameDesc": { "message": "What should we call you?" }, "masterPass": { - "message": "Master Password" + "message": "主密碼" }, "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." + "message": "主密碼是您存取密碼庫的密碼。請勿忘記主密碼,我們無法將您的主密碼復原或重設。" }, "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." + "message": "主密碼提示可以在您忘記主密碼時幫助您回憶主密碼。" }, "reTypeMasterPass": { - "message": "Re-type Master Password" + "message": "重新輸入主密碼" }, "masterPassHint": { - "message": "Master Password Hint (optional)" + "message": "主密碼提示 (選用)" }, "masterPassHintLabel": { - "message": "Master Password Hint" + "message": "主密碼提示" }, "settings": { - "message": "Settings" + "message": "設定" }, "passwordHint": { - "message": "Password Hint" + "message": "密碼提示" }, "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." + "message": "請輸入您的帳户電子郵件地址以接收主密碼提示。" }, "getMasterPasswordHint": { - "message": "Get master password hint" + "message": "取得主密碼提示" }, "emailRequired": { - "message": "Email address is required." + "message": "必須填入電子郵件地址 。" }, "invalidEmail": { - "message": "Invalid email address." + "message": "無效的電子郵件地址。" }, "masterPassRequired": { - "message": "Master password is required." + "message": "必須填入主密碼。" }, "masterPassLength": { - "message": "Master password must be at least 8 characters long." + "message": "主密碼需要至少 8 個字元。" }, "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." + "message": "兩次填寫的主密碼不相符。" }, "newAccountCreated": { - "message": "Your new account has been created! You may now log in." + "message": "帳戶已建立!現在可以登入了。" }, "masterPassSent": { - "message": "We've sent you an email with your master password hint." + "message": "已寄出包含您主密碼提示的電子郵件。" }, "unexpectedError": { - "message": "An unexpected error has occurred." + "message": "發生了未預期的錯誤。" }, "emailAddress": { - "message": "Email Address" + "message": "電子郵件地址" }, "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." + "message": "密碼庫已鎖定。驗證主密碼以繼續。" }, "unlock": { - "message": "Unlock" + "message": "解鎖" }, "invalidMasterPassword": { - "message": "Invalid master password" + "message": "無效的主密碼" }, "lockNow": { - "message": "Lock Now" + "message": "立即鎖定" }, "noItemsInList": { - "message": "There are no items to list." + "message": "沒有項目可顯示。" }, "noCollectionsInList": { - "message": "There are no collections to list." + "message": "沒有可顯示的收藏。" }, "noGroupsInList": { - "message": "There are no groups to list." + "message": "沒有可顯示的群組。" }, "noUsersInList": { - "message": "There are no users to list." + "message": "沒有可顯示的使用者。" }, "noEventsInList": { - "message": "There are no events to list." + "message": "沒有可顯示的事件。" }, "newOrganization": { - "message": "New Organization" + "message": "新增組織" }, "noOrganizationsList": { "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." }, "versionNumber": { - "message": "Version $VERSION_NUMBER$", + "message": "版本 $VERSION_NUMBER$", "placeholders": { "version_number": { "content": "$1", @@ -616,10 +616,10 @@ } }, "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." + "message": "輸入驗證器應用程式提供的 6 位數驗證碼。" }, "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", + "message": "輸入已傳送至 $EMAIL$ 的 6 位數驗證碼。", "placeholders": { "email": { "content": "$1", @@ -628,7 +628,7 @@ } }, "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", + "message": "驗證碼已傳送至 $EMAIL$。", "placeholders": { "email": { "content": "$1", @@ -637,79 +637,79 @@ } }, "rememberMe": { - "message": "Remember me" + "message": "記住我的登入資訊" }, "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" + "message": "再次傳送​​包含驗證碼的電子郵件" }, "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" + "message": "使用另一種兩步驟登入方法" }, "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." + "message": "將您的 YubiKey 插入電腦的 USB 連接埠,然後按一下它的按鈕。" }, "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." + "message": "將您的安全鑰匙插入電腦的 USB 連接埠,然後按一下它的按鈕(如有的話)。" }, "loginUnavailable": { - "message": "Login Unavailable" + "message": "無法登入" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "此帳戶已啟用兩步驟登入,但是本瀏覽器不支援已設定的兩步驟登入方式。" }, "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and\/or add additional providers that are better supported across web browsers (such as an authenticator app)." + "message": "請使用已支援的瀏覽器(例如 Chrome ),及/或新增可以更好地跨瀏覽器的兩步驟登入方法(例如驗證器應用程式)。" }, "twoStepOptions": { - "message": "Two-step Login Options" + "message": "兩步驟登入選項" }, "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." + "message": "無法使用任何兩步驟登入方式?用復原碼停用所有兩步驟登入方式。" }, "recoveryCodeTitle": { - "message": "Recovery Code" + "message": "復原碼" }, "authenticatorAppTitle": { - "message": "Authenticator App" + "message": "驗證器應用程式" }, "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", + "message": "使用驗證器應用程式 (如 Authy 或 Google Authenticator) 產生基於時間的驗證碼。", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" + "message": "YubiKey OTP 安全鑰匙" }, "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices." + "message": "使用 YubiKey 存取您的帳戶。相容於 YubiKey 4, 4 Nano, 4C, 和 NEO 裝置。" }, "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "與 Duo Security 驗證,可使用 Duo Mobile 程式, SMS ,致電或 U2F 安全鑰匙。", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "使用 Duo Security 驗證您的組織,可使用 Duo Mobile 程式, SMS ,致電或 U2F 安全鑰匙。", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." + "message": "使用任何啟用了 FIDO U2F 的安全鑰匙來存取您的帳戶。" }, "u2fTitle": { - "message": "FIDO U2F Security Key" + "message": "FIDO U2F 安全鑰匙" }, "emailTitle": { - "message": "Email" + "message": "電子郵件" }, "emailDesc": { - "message": "Verification codes will be emailed to you." + "message": "驗證碼將使用電子郵件傳送給您。" }, "continue": { - "message": "Continue" + "message": "繼續" }, "organization": { - "message": "Organization" + "message": "組織" }, "organizations": { - "message": "Organizations" + "message": "組織" }, "shareDesc": { "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." @@ -756,65 +756,65 @@ } }, "verificationCodeTotp": { - "message": "Verification Code (TOTP)" + "message": "驗證碼 (TOTP)" }, "copyVerificationCode": { - "message": "Copy Verification Code" + "message": "複製驗證碼" }, "warning": { - "message": "Warning" + "message": "警告" }, "exportWarning": { - "message": "This export contains your unencrypted data in .csv format. You should not store or send it over unsecure channels (such as email). Delete it immediately after your are done using it." + "message": "您的密碼將匯出成未加密的 .csv 檔案。您不應將它存放或經由未經加密的方式傳送(例如電子郵件)。用完後請立即將它刪除。" }, "exportMasterPassword": { - "message": "Enter your master password to export your vault data." + "message": "輸入您的主密碼以匯出密碼庫資料。" }, "exportVault": { - "message": "Export Vault" + "message": "匯出密碼庫" }, "exportSuccess": { "message": "Your vault data has been exported." }, "passwordGenerator": { - "message": "Password Generator" + "message": "密碼產生器" }, "minNumbers": { - "message": "Minimum Numbers" + "message": "數字" }, "minSpecial": { - "message": "Minimum Special", + "message": "符號", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Avoid Ambiguous Characters" + "message": "避免易混淆的字元" }, "regeneratePassword": { - "message": "Regenerate Password" + "message": "重新產生密碼" }, "length": { - "message": "Length" + "message": "長度" }, "passwordHistory": { - "message": "Password History" + "message": "密碼歷史記錄" }, "noPasswordsInList": { - "message": "There are no passwords to list." + "message": "沒有密碼可顯示。" }, "clear": { - "message": "Clear" + "message": "清除" }, "accountUpdated": { - "message": "Account Updated" + "message": "帳戶已更新" }, "changeEmail": { - "message": "Change Email" + "message": "變更電子郵件" }, "newEmail": { - "message": "New Email" + "message": "新電子郵件" }, "code": { - "message": "Code" + "message": "代碼" }, "changeEmailDesc": { "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize your the email address change.", @@ -829,7 +829,7 @@ "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." }, "emailChanged": { - "message": "Email Changed" + "message": "電子郵件已更改" }, "logBackIn": { "message": "Please log back in." @@ -838,25 +838,25 @@ "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." }, "changeMasterPassword": { - "message": "Change Master Password" + "message": "變更主密碼" }, "masterPasswordChanged": { - "message": "Master Password Changed" + "message": "已變更主密碼" }, "currentMasterPass": { - "message": "Current Master Password" + "message": "目前主密碼" }, "newMasterPass": { - "message": "New Master Password" + "message": "新的主密碼" }, "confirmNewMasterPass": { - "message": "Confirm New Master Password" + "message": "確認新密碼" }, "dangerZone": { - "message": "Danger Zone" + "message": "危險區域" }, "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" + "message": "小心, 這些動作是無法復原的!" }, "deauthorizeSessions": { "message": "Deauthorize Sessions" @@ -883,7 +883,7 @@ "message": "Your vault has been purged." }, "deleteAccount": { - "message": "Delete Account" + "message": "刪除帳戶" }, "deleteAccountDesc": { "message": "Proceed below to delete your account and all associated data." @@ -892,19 +892,19 @@ "message": "Deleting your account is permanent. It cannot be undone." }, "accountDeleted": { - "message": "Account Deleted" + "message": "帳戶已刪除" }, "accountDeletedDesc": { "message": "Your account has been closed and all associated data has been deleted." }, "myAccount": { - "message": "My Account" + "message": "我的帳戶" }, "tools": { - "message": "Tools" + "message": "工具" }, "importData": { - "message": "Import Data" + "message": "匯入資料" }, "importSuccess": { "message": "Data has been successfully imported into your vault." @@ -919,7 +919,7 @@ "message": "Select the format of the import file" }, "selectImportFile": { - "message": "Select the import file" + "message": "選擇匯入檔案" }, "orCopyPasteFileContents": { "message": "or copy\/paste the import file contents" @@ -935,28 +935,35 @@ } }, "options": { - "message": "Options" + "message": "選項" }, "optionsDesc": { "message": "Customize your web vault experience." }, "optionsUpdated": { - "message": "Options updated" + "message": "選項已更新" }, "language": { - "message": "Language" + "message": "語言" }, "languageDesc": { "message": "Change the language used by the web vault." }, "disableIcons": { - "message": "Disable Website Icons" + "message": "停用網站圖示" }, "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." + "message": "在您密碼庫的每個登入資料旁顯示一個可辨識圖示。" + }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." }, "default": { - "message": "Default" + "message": "預設" }, "domainRules": { "message": "Domain Rules" @@ -971,13 +978,13 @@ "message": "Custom Equivalent Domains" }, "exclude": { - "message": "Exclude" + "message": "排除" }, "include": { - "message": "Include" + "message": "包含" }, "customize": { - "message": "Customize" + "message": "自訂" }, "newCustomDomain": { "message": "New Custom Domain" @@ -995,10 +1002,10 @@ } }, "domainsUpdated": { - "message": "Domains updated" + "message": "網域已更新" }, "twoStepLogin": { - "message": "Two-step Login" + "message": "兩步驟登入" }, "twoStepLoginDesc": { "message": "Secure your account by requiring an additional step when logging in." @@ -1010,36 +1017,36 @@ "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, "viewRecoveryCode": { - "message": "View Recovery Code" + "message": "檢視復原碼" }, "providers": { - "message": "Providers", + "message": "提供者", "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { - "message": "Enable" + "message": "啟用" }, "enabled": { - "message": "Enabled" + "message": "已啟用" }, "premium": { - "message": "Premium", + "message": "進階版", "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Membership" + "message": "進階會員" }, "premiumRequired": { - "message": "Premium Required" + "message": "需要進階會員資格" }, "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." + "message": "進階會員才可使用此功能。" }, "manage": { - "message": "Manage" + "message": "管理" }, "disable": { - "message": "Disable" + "message": "停用" }, "twoStepLoginProviderEnabled": { "message": "This two-step login provider is enabled on your account." @@ -1057,13 +1064,13 @@ "message": "Need a two-step authenticator app? Download one of the following" }, "iosDevices": { - "message": "iOS devices" + "message": "iOS 裝置" }, "androidDevices": { - "message": "Android devices" + "message": "Android 裝置" }, "windowsDevices": { - "message": "Windows devices" + "message": "Windows 裝置" }, "twoStepAuthenticatorAppsRecommended": { "message": "These apps are recommended, however, other authenticator apps will also work." @@ -1099,7 +1106,7 @@ "message": "Touch the YubiKey's button." }, "twoFactorYubikeySaveForm": { - "message": "Save the form." + "message": "儲存表單" }, "twoFactorYubikeyWarning": { "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" @@ -1120,7 +1127,7 @@ } }, "nfcSupport": { - "message": "NFC Support" + "message": "NFC 支援" }, "twoFactorYubikeySupportsNfc": { "message": "One of my keys supports NFC." @@ -1141,7 +1148,7 @@ "message": "Integration Key" }, "twoFactorDuoSecretKey": { - "message": "Secret Key" + "message": "秘密金鑰" }, "twoFactorDuoApiHostname": { "message": "API Hostname" @@ -1156,7 +1163,7 @@ "message": "Enter the resulting 6 digit verification code from the email" }, "sendEmail": { - "message": "Send Email" + "message": "傳送電子郵件" }, "twoFactorU2fAdd": { "message": "Add a FIDO U2F security key to your account" @@ -1193,7 +1200,7 @@ "description": "Print 2FA recovery code" }, "reports": { - "message": "Reports" + "message": "報告" }, "dataBreachReport": { "message": "Data Breach Report" @@ -1217,7 +1224,7 @@ } }, "goodNews": { - "message": "Good News", + "message": "好消息!", "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { @@ -1240,10 +1247,10 @@ "message": "Compromised data" }, "website": { - "message": "Website" + "message": "網站" }, "affectedUsers": { - "message": "Affected Users" + "message": "受影響的使用者" }, "breachOccurred": { "message": "Breach Occurred" @@ -1258,32 +1265,32 @@ "message": "Billing & Licensing" }, "goPremium": { - "message": "Go Premium", + "message": "升級為進階版", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "You've upgraded to premium." + "message": "您已升級至進階版" }, "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." + "message": "將您的帳戶升級為進階版, 並解鎖更多方便的功能。" }, "premiumSignUpStorage": { - "message": "1 GB of encrypted file storage." + "message": "1 GB 的加密檔案儲存空間。" }, "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + "message": "YubiKey,FIDO U2F 和 Duo 等額外的兩步驟登入選項。" }, "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." + "message": "用於您的登入資料的 TOTP 驗證碼 (2FA) 產生器。" }, "premiumSignUpSupport": { - "message": "Priority customer support." + "message": "優先客戶支援。" }, "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" + "message": "未來會有更多進階功能,敬請期待!" }, "premiumPrice": { - "message": "All for just $PRICE$ \/year!", + "message": "每年只需 $PRICE$ !", "placeholders": { "price": { "content": "$1", @@ -1295,7 +1302,7 @@ "message": "Addons" }, "additionalStorageGb": { - "message": "Additional Storage (GB)" + "message": "額外的儲存空間 (GB)" }, "additionalStorageGbDesc": { "message": "# of additional GB" @@ -1314,16 +1321,16 @@ } }, "summary": { - "message": "Summary" + "message": "摘要" }, "total": { - "message": "Total" + "message": "總計" }, "year": { - "message": "year" + "message": "年" }, "month": { - "message": "month" + "message": "月" }, "monthAbbr": { "message": "mo.", @@ -1342,16 +1349,16 @@ } }, "paymentInformation": { - "message": "Payment Information" + "message": "付款資訊" }, "creditCard": { - "message": "Credit Card" + "message": "信用卡" }, "paypalClickSubmit": { "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." }, "cancelSubscription": { - "message": "Cancel Subscription" + "message": "取消訂閱" }, "subscriptionCanceled": { "message": "The subscription has been canceled." @@ -1381,28 +1388,28 @@ "message": "Never Expires" }, "status": { - "message": "Status" + "message": "狀態" }, "nextCharge": { "message": "Next Charge" }, "details": { - "message": "Details" + "message": "詳細資料" }, "downloadLicense": { "message": "Download License" }, "updateLicense": { - "message": "Update License" + "message": "更新授權" }, "updatedLicense": { - "message": "Updated license" + "message": "授權已更新" }, "manageSubscription": { - "message": "Manage Subscription" + "message": "管理訂閱" }, "storage": { - "message": "Storage" + "message": "儲存空間" }, "addStorage": { "message": "Add Storage" @@ -1482,13 +1489,13 @@ "message": "Updated payment method." }, "purchasePremium": { - "message": "Purchase Premium" + "message": "購買進階會員資格" }, "licenseFile": { - "message": "License File" + "message": "授權檔案" }, "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", + "message": "您的授權檔案將被命名為類似 $FILE_NAME$ 的名稱", "placeholders": { "file_name": { "content": "$1", @@ -1497,7 +1504,7 @@ } }, "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." + "message": "您需要上傳有效的授權檔案來升級為進階會員資格 。" }, "uploadLicenseFileOrg": { "message": "To create an on-premise hosted organization you need to upload a valid license file." @@ -1509,10 +1516,10 @@ "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." }, "generalInformation": { - "message": "General Information" + "message": "一般資訊" }, "organizationName": { - "message": "Organization Name" + "message": "組織名稱" }, "accountOwnedBusiness": { "message": "This account is owned by a business." @@ -1527,7 +1534,7 @@ "message": "Choose Your Plan" }, "users": { - "message": "Users" + "message": "使用者" }, "userSeats": { "message": "User Seats" @@ -1555,7 +1562,7 @@ "message": "How many user seats do you need? You can also add additional seats later if needed." }, "planNameFree": { - "message": "Free" + "message": "免費" }, "planDescFree": { "message": "For testing or personal users to share with $COUNT$ other user.", @@ -1573,7 +1580,7 @@ "message": "For personal use, to share with family & friends." }, "planNameTeams": { - "message": "Teams" + "message": "團隊" }, "planDescTeams": { "message": "For businesses and other team organizations." @@ -1600,7 +1607,7 @@ "message": "Additional Users" }, "costPerUser": { - "message": "$COST$ per user", + "message": "每位使用者 $COST$", "placeholders": { "cost": { "content": "$1", @@ -1663,10 +1670,10 @@ "message": "Track user actions with audit logs" }, "enforce2faDuo": { - "message": "Enforce 2FA with Duo" + "message": "強制使用 Duo 兩步驟驗證" }, "priorityCustomerSupport": { - "message": "Priority customer support" + "message": "優先客戶支援" }, "xDayFreeTrial": { "message": "$COUNT$ day free trial, cancel anytime", @@ -1678,22 +1685,22 @@ } }, "monthly": { - "message": "Monthly" + "message": "每月" }, "annually": { - "message": "Annually" + "message": "每年" }, "basePrice": { - "message": "Base Price" + "message": "基本價格" }, "organizationCreated": { - "message": "Organization Created" + "message": "已建立組織" }, "organizationReadyToGo": { "message": "Your new organization is ready to go!" }, "leave": { - "message": "Leave" + "message": "離開" }, "leaveOrganizationConfirmation": { "message": "Are you sure you want to leave this organization?" @@ -1702,40 +1709,40 @@ "message": "You have left the organization." }, "defaultCollection": { - "message": "Default Collection" + "message": "預設收藏" }, "getHelp": { - "message": "Get Help" + "message": "尋求幫助" }, "getApps": { - "message": "Get the Apps" + "message": "取得應用程式" }, "loggedInAs": { - "message": "Logged in as" + "message": "登入為" }, "eventLogs": { - "message": "Event Logs" + "message": "事件記錄" }, "people": { - "message": "People" + "message": "人員" }, "groups": { - "message": "Groups" + "message": "群組" }, "newGroup": { - "message": "New Group" + "message": "新增群組" }, "addGroup": { - "message": "Add Group" + "message": "新增群組" }, "editGroup": { - "message": "Edit Group" + "message": "編輯群組" }, "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" + "message": "您確定要刪除這個群組?" }, "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" + "message": "您確定要移除該使用者?" }, "externalId": { "message": "External Id" @@ -1753,7 +1760,7 @@ "message": "This group can access only the selected collections." }, "readOnly": { - "message": "Read Only" + "message": "唯讀" }, "newCollection": { "message": "New Collection" @@ -1762,16 +1769,16 @@ "message": "Add Collection" }, "editCollection": { - "message": "Edit Collection" + "message": "編輯收藏" }, "deleteCollectionConfirmation": { "message": "Are you sure you want to delete this collection?" }, "editUser": { - "message": "Edit User" + "message": "編輯使用者" }, "inviteUser": { - "message": "Invite User" + "message": "邀請使用者" }, "inviteUserDesc": { "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." @@ -1792,31 +1799,31 @@ "message": "This user can access only the selected collections." }, "search": { - "message": "Search" + "message": "搜尋" }, "invited": { - "message": "Invited" + "message": "已邀請" }, "accepted": { - "message": "Accepted" + "message": "已接受" }, "confirmed": { - "message": "Confirmed" + "message": "已確認" }, "owner": { - "message": "Owner" + "message": "擁有者" }, "ownerDesc": { "message": "The highest access user that can manage all aspects of your organization." }, "admin": { - "message": "Admin" + "message": "管理員" }, "adminDesc": { "message": " Admins can access and manage all items, collections and users in your organization." }, "user": { - "message": "User" + "message": "使用者" }, "userDesc": { "message": "A regular user with access to your organization's collections." @@ -1825,19 +1832,19 @@ "message": "All" }, "refresh": { - "message": "Refresh" + "message": "重新整理" }, "timestamp": { "message": "Timestamp" }, "event": { - "message": "Event" + "message": "事件" }, "unknown": { - "message": "Unknown" + "message": "不詳" }, "loadMore": { - "message": "Load More" + "message": "載入更多" }, "mobile": { "message": "Mobile", @@ -1852,10 +1859,10 @@ "description": "Desktop app" }, "webVault": { - "message": "Web Vault" + "message": "網頁版密碼庫" }, "loggedIn": { - "message": "Logged in." + "message": "已登入。" }, "changedPassword": { "message": "Changed account password." @@ -2041,22 +2048,22 @@ } }, "device": { - "message": "Device" + "message": "裝置" }, "view": { - "message": "View" + "message": "檢視" }, "invalidDateRange": { "message": "Invalid date range." }, "errorOccurred": { - "message": "An error has occurred." + "message": "發生錯誤。" }, "userAccess": { "message": "User Access" }, "userType": { - "message": "User Type" + "message": "使用者類型" }, "groupAccess": { "message": "Group Access" @@ -2068,7 +2075,7 @@ "message": "Invited user(s)." }, "resendInvitation": { - "message": "Resend Invitation" + "message": "重新傳送邀請" }, "hasBeenReinvited": { "message": "$USER$ has been reinvited.", @@ -2080,7 +2087,7 @@ } }, "confirm": { - "message": "Confirm" + "message": "確認" }, "hasBeenConfirmed": { "message": "$USER$ has been confirmed.", @@ -2092,13 +2099,13 @@ } }, "startDate": { - "message": "Start Date" + "message": "開始日期" }, "endDate": { - "message": "End Date" + "message": "结束日期" }, "verifyEmail": { - "message": "Verify Email" + "message": "驗證電子郵件" }, "verifyEmailDesc": { "message": "Verify your account's email address to unlock access to all features." @@ -2116,13 +2123,13 @@ "message": "Unable to verify your email. Try sending a new verification email." }, "updateBrowser": { - "message": "Update Browser" + "message": "更新瀏覽器" }, "updateBrowserDesc": { "message": "You are using an unsupported web browser. The web vault may not function properly." }, "joinOrganization": { - "message": "Join Organization" + "message": "加入組織" }, "joinOrganizationDesc": { "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." @@ -2137,7 +2144,7 @@ "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." }, "rememberEmail": { - "message": "Remember email" + "message": "記住電子郵件地址" }, "recoverAccountTwoStepDesc": { "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." @@ -2149,7 +2156,7 @@ "message": "Two-step login has been disabled on your account." }, "learnMore": { - "message": "Learn more" + "message": "了解更多" }, "deleteRecoverDesc": { "message": "Enter your email address below to recover and delete your account." @@ -2161,10 +2168,10 @@ "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." }, "myOrganization": { - "message": "My Organization" + "message": "我的組織" }, "deleteOrganization": { - "message": "Delete Organization" + "message": "刪除組織" }, "deleteOrganizationDesc": { "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " @@ -2188,11 +2195,11 @@ "message": "Please contact support to provide (or update) tax information for your invoices." }, "billingPlan": { - "message": "Plan", + "message": "方案", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Change Plan", + "message": "變更方案", "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { @@ -2200,7 +2207,7 @@ "description": "A billing plan\/package. For example: families, teams, enterprise, etc." }, "invoice": { - "message": "Invoice" + "message": "發票" }, "verifyBankAccount": { "message": "Verify Bank Account" @@ -2218,7 +2225,7 @@ "message": "Bank account has been verified." }, "bankAccount": { - "message": "Bank Account" + "message": "銀行帳戶" }, "amountX": { "message": "Amount $COUNT$", @@ -2241,7 +2248,7 @@ "message": "Account Holder Name" }, "bankAccountType": { - "message": "Account Type" + "message": "帳戶類型" }, "bankAccountTypeCompany": { "message": "Company (Business)" @@ -2309,13 +2316,13 @@ "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, "subscription": { - "message": "Subscription" + "message": "訂閱" }, "loading": { - "message": "Loading" + "message": "正在載入" }, "upgrade": { - "message": "Upgrade" + "message": "升級" }, "upgradeOrganization": { "message": "Upgrade Organization" @@ -2324,28 +2331,63 @@ "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." }, "createOrganizationStep1": { - "message": "Create Organization: Step 1" + "message": "建立組織:步驟 1" }, "createOrganizationCreatePersonalAccount": { "message": "Before creating your organization, you first need to create a free personal account." }, "refunded": { - "message": "Refunded" + "message": "已退款" }, "nothingSelected": { "message": "You have not selected anything." }, "submitAgreePolicies": { - "message": "By clicking the \"Submit\" button, you agree to the following policies:", + "message": "一旦您按下「送出」,表示您同意以下條款:", "description": "A policy is something like Terms of Service, Privacy Policy, etc." }, "termsOfService": { - "message": "Terms of Service" + "message": "服務條款" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "隱私權政策" }, "filters": { - "message": "Filters" + "message": "篩選器" + }, + "lockOptions": { + "message": "自動鎖定時間" + }, + "lockOptionsDesc": { + "message": "選擇密碼庫的自動鎖定時間。鎖定後需要重新輸入主密碼才能再次存取密碼庫。" + }, + "oneMinute": { + "message": "1 分鐘" + }, + "fiveMinutes": { + "message": "5 分鐘" + }, + "fifteenMinutes": { + "message": "15 分鐘" + }, + "thirtyMinutes": { + "message": "30 分鐘" + }, + "oneHour": { + "message": "1 小時" + }, + "fourHours": { + "message": "4 小時" + }, + "onRefresh": { + "message": "於瀏覽器重新重新整理時" + }, + "dateUpdated": { + "message": "已更新", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "密碼已更新", + "description": "ex. Date this password was updated" } } \ No newline at end of file diff --git a/u2f-connector.html b/u2f-connector.html index 629422fa..6871c2f9 100644 --- a/u2f-connector.html +++ b/u2f-connector.html @@ -7,6 +7,6 @@ - + diff --git a/version.json b/version.json index c3bea75d..26200638 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version":"2.0.0"} \ No newline at end of file +{"version":"2.1.0"} \ No newline at end of file